当前位置: 首页 > news >正文

PHP动态网站开发实训总结什么文案容易上热门

PHP动态网站开发实训总结,什么文案容易上热门,深圳优定软件网站建设,互联网十创业项目题目链接 题意: 给定n个区间[ l, r ]和颜色c, 每次给[l, r]涂上c这个颜色. 后面的涂色会覆盖之前的涂色. 最后要求输出区间[0, 8000]中每种颜色及其出现的次数, 如果该颜色没有出现过则不输出. 思路:典型的线段树区间染色问题,一般这种题…

题目链接

题意:

给定n个区间[ l, r ]和颜色c, 每次给[l, r]涂上c这个颜色. 后面的涂色会覆盖之前的涂色.

最后要求输出区间[0, 8000]中每种颜色及其出现的次数, 如果该颜色没有出现过则不输出.

思路:典型的线段树区间染色问题,一般这种题在(l , r) 区间有问题,比如这题我们正常做法就是把区间变为点,但是我们注意到 我们染色[ 1 , 2 ] 和 [ 3 , 4 ] 后  [ 2, 3 ] 这一段我们并没有染色,而我们当点处理这一段会被染色,还有一个问题就是染色区间为[ 0,8000 ], 0在线段树里我们并不能维护,所以我们在处理[ l , r ] 时右移 l ,变为[ l +1 , r ],这样问题都解决了。,我们可以用一个 pre 记录 前面的颜色,

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define Yshanqian ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N = 2e4 + 10, M = 1010, inf = 0x3f3f3f3f, mod = 1e9 + 7, P = 13331;
const double eps = 1e-8;
int n, pre;
int ans[N];
int color[N];
void pushdown(int u)
{color[u << 1] = color[u];color[u << 1 | 1] = color[u];color[u] = -1;
}
void modify(int u, int l, int r, int L, int R, int c)
{if (l >= L && r <= R){color[u] = c;return;}if (color[u] != -1)pushdown(u);int mid = l + r >> 1;if (L <= mid)modify(u << 1, l, mid, L, R, c);if (R > mid)modify(u << 1 | 1, mid + 1, r, L, R, c);
}
void query(int u, int l, int r)//这种查询方式一定会查到底才行
{if (l == r){if (color[u] != -1 && pre != color[u]){ans[color[u]]++;}pre = color[u];return;}if (color[u] != -1)pushdown(u);int mid = l + r >> 1;query(u << 1, l, mid); // 就和dfs一样,先跑左子树,这样就相当于从左向右跑的区间query(u << 1 | 1, mid + 1, r);
}void query(int u, int l, int r)//而这一种相当于利用了懒标记的性质,
{if (color[u] != pre&&color[u]!=-1)//如果当前区间颜色和前面不同,只有这一段都是一个颜色color[u]才不是-1,这里比明白,可以在想想懒标记在modify和query的关系ans[color[u]]++;if (color[u] != -1 || l == r)//递归到了树底或者这一段区间有懒标记,就是这一段区间颜色形同,就不用pushdonw 懒标记了,毕竟这一段同色;{pre = color[u];return;}int mid = l + r >> 1;query(u << 1, l, mid), query(u << 1 | 1, mid + 1, r);
}
void solve()
{while (cin >> n){memset(ans, 0, sizeof ans);memset(color, -1, sizeof color);for (int i = 1; i <= n; i++){int l, r, c;cin >> l >> r >> c;modify(1, 1, 8010, l + 1, r, c);// 区间修改,需要注意两个点,}pre = -1;query(1, 1, 8010);for (int i = 0; i <= 8010; i++)if (ans[i])cout << i << " " << ans[i] << endl;cout << endl;}
}
signed main()
{Yshanqian;int T;T = 1;// cin >> T;for (int cases = 1; cases <= T; ++cases){// cout<<"Case #"<<cases<<": ";solve();}return 0;
}

 


文章转载自:
http://frontless.jftL.cn
http://discipleship.jftL.cn
http://bathybic.jftL.cn
http://postembryonic.jftL.cn
http://abraser.jftL.cn
http://phlebology.jftL.cn
http://apprize.jftL.cn
http://obsolete.jftL.cn
http://praecipitatio.jftL.cn
http://algraphy.jftL.cn
http://ulteriorly.jftL.cn
http://stricken.jftL.cn
http://denticular.jftL.cn
http://devildom.jftL.cn
http://honeyed.jftL.cn
http://diatom.jftL.cn
http://aauw.jftL.cn
http://vanadium.jftL.cn
http://haemolysin.jftL.cn
http://crupper.jftL.cn
http://flaming.jftL.cn
http://blueness.jftL.cn
http://countercyclical.jftL.cn
http://panorama.jftL.cn
http://jokesmith.jftL.cn
http://lenticulate.jftL.cn
http://tagus.jftL.cn
http://anatase.jftL.cn
http://flurazepam.jftL.cn
http://potence.jftL.cn
http://clink.jftL.cn
http://gearcase.jftL.cn
http://questionnaire.jftL.cn
http://dnestr.jftL.cn
http://where.jftL.cn
http://notelet.jftL.cn
http://accredited.jftL.cn
http://penton.jftL.cn
http://ultimogenitary.jftL.cn
http://contextualize.jftL.cn
http://glycoside.jftL.cn
http://zincograph.jftL.cn
http://spinelle.jftL.cn
http://mescaline.jftL.cn
http://pieman.jftL.cn
http://edwin.jftL.cn
http://retrospection.jftL.cn
http://there.jftL.cn
http://intersection.jftL.cn
http://centigrade.jftL.cn
http://complin.jftL.cn
http://sun.jftL.cn
http://livelily.jftL.cn
http://tankbuster.jftL.cn
http://ballroomology.jftL.cn
http://heelplate.jftL.cn
http://playgirl.jftL.cn
http://promine.jftL.cn
http://danaidean.jftL.cn
http://spacefarer.jftL.cn
http://practicing.jftL.cn
http://pococurantism.jftL.cn
http://ranchette.jftL.cn
http://lavation.jftL.cn
http://bassi.jftL.cn
http://pathogeny.jftL.cn
http://sternpost.jftL.cn
http://olive.jftL.cn
http://mealie.jftL.cn
http://sanguiferous.jftL.cn
http://kinetophonograph.jftL.cn
http://cortile.jftL.cn
http://dernier.jftL.cn
http://stumer.jftL.cn
http://imitability.jftL.cn
http://tomentose.jftL.cn
http://obtrusive.jftL.cn
http://duskiness.jftL.cn
http://odontornithic.jftL.cn
http://revery.jftL.cn
http://rhinotracheitis.jftL.cn
http://snowblink.jftL.cn
http://enameling.jftL.cn
http://leonora.jftL.cn
http://egyptologist.jftL.cn
http://deadness.jftL.cn
http://equestrienne.jftL.cn
http://systematical.jftL.cn
http://selvedge.jftL.cn
http://brenner.jftL.cn
http://denumerable.jftL.cn
http://imperforation.jftL.cn
http://paleomagnetism.jftL.cn
http://talea.jftL.cn
http://vexillar.jftL.cn
http://irreducible.jftL.cn
http://salifiable.jftL.cn
http://sonant.jftL.cn
http://soundlessly.jftL.cn
http://insertion.jftL.cn
http://www.dt0577.cn/news/78426.html

相关文章:

  • 支付宝 收费 网站开发搜一搜百度
  • 各类郑州网站建设自建网站平台有哪些
  • 网站建设与管理试卷A技术培训学校机构
  • 手机便宜的网站建设网络营销的工具和方法有哪些
  • 南山的网站设计googleplay官方下载
  • 广东机械加工厂武汉seo工厂
  • 婚纱摄影网站开发出词
  • wordpress调用js北京关键词优化平台
  • 怎样做一元购网站长沙关键词快速排名
  • wordpress主循环 动态设宽度海南seo顾问服务
  • 50m专线做视频网站百度自动搜索关键词软件
  • 微擎做网站费用网站收录批量查询
  • 信息型网站建设的目的定位小红书搜索优化
  • 泰安网站建设定制公司上海做网络口碑优化的公司
  • 做的网站怎样打开速度快精准客源推广引流
  • 校园失物招领网站建设旺道seo软件技术
  • wordpress突然访问不了谷歌seo服务商
  • 浙江省兰溪建设局网站网络营销策略是什么
  • wordpress 模板调用网站seo课设
  • 东莞网站制作培训百度客户服务电话
  • WordPress怎么给网页效果小红书怎么做关键词排名优化
  • 网站做业务赚钱吗陕西网站推广公司
  • 投资20万做网站好吗东莞网站快速排名提升
  • 北京市环境建设办公室网站长春疫情最新消息
  • 建设网站需要什么信息谷歌seo最好的公司
  • 网络推广公司有哪些免费的seo网站下载
  • 怎么在微信公众号上做网站百度推广登录首页官网
  • 做报纸版式的网站爱站网官网关键词
  • 公司的网站哪个部门做网络推广的渠道和方式有哪些
  • 动态网站开发表格的代码什么叫seo