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

聊城开发app公司关键词首页排名优化

聊城开发app公司,关键词首页排名优化,江苏建设人才考试网官方网站,大型免费网站制作E - Red and Blue and Green 题目大意 构造一个长度为 n n n 的序列,满足 m m m 个条件,每个条件包含三个数 l , r , w l,\space r,\space w l, r, w,表示区间左端点,区间右端点,这个区间的逆序对数的奇偶性&…

E - Red and Blue and Green

题目大意

构造一个长度为 n n n 的序列,满足 m m m 个条件,每个条件包含三个数 l , r , w l,\space r,\space w l, r, w,表示区间左端点,区间右端点,这个区间的逆序对数的奇偶性,保证两个区间包含或者不相交

解题思路

因为区间两两非包含即相交,可以搞出来一棵树的样子,那么遍历区间直接变成遍历树

对于每个遍历的区间,在下方所有区间都满足的情况下,下一级区间奇偶性异或和如果相等则什么操作都不用

如果不相等,那么可以尝试是否能将其分为两个互不相干的区间

可以的话只要将去和把前者的区间的最大值和后者区间的最小值交换即可

上述操作可以将区间的逆序对数增加 1 1 1(因为两者之间的数都比两者小),使奇偶性改变

code

#include<bits/stdc++.h>
using namespace std;
const int N = 1009;
struct lol {int l, r, w;} h[N];
struct dot {int x, y;} e[N];
bool cmp(lol a, lol b) {return a.l < b.l || (a.l == b.l && a.r > b.r);}
int n, m, a[N], top[N], ans, v[N];
stack <int> st;
void ein(int x, int y)
{e[++ ans].x = top[x];e[ans].y = y;top[x] = ans;
}
void dfs(int x)
{v[x] = 1;int op = 0, fl = 0, nl = h[x].l, nr = h[x].r;for (int i = top[x]; i; i = e[i].x){int y = e[i].y;nl = max(nl, h[y].l);nr = min(nr, h[y].r);op ^= h[y].w;fl = 1;}if (op != h[x].w){if (fl == 0 && nl != nr) {swap(a[nl], a[nl + 1]);}else if (nl > h[x].l) {swap(a[nl], a[nl - 1]);}else if (nr < h[x].r) {swap(a[nr], a[nr + 1]);}else {printf("-1"); exit(0);}}for (int i = top[x]; i; i = e[i].x){int y = e[i].y;dfs(y);}
}
int main()
{scanf("%d%d", &n, &m);for (int i = 1; i <= m; ++ i)scanf("%d%d%d", &h[i].l, &h[i].r, &h[i].w);sort(h + 1, h + m + 1, cmp);for (int i = 1; i <= m; ++ i){while (!st.empty() && h[st.top()].r < h[i].r) st.pop();if (!st.empty()) ein(st.top(), i);st.push(i);}for (int i = 1; i <= n; ++ i) a[i] = i;for (int i = 1; i <= m; ++ i)if (!v[i]) dfs(i);for (int i = 1; i <= n; ++ i) printf("%d ", a[i]);return 0;
}

B - Circle of Mistery

题目大意

有一个长度为 n n n 的数列 { a i } \{a_i\} {ai},可以进行连边操作,使第 i i i 个数指向 p i p_i pi,这样操作会形成若干个环,要使存在一个环的 a i a_i ai 之和大于等于 k k k,问如何设计 p i p_i pi 才能使其逆序对数最少,输出最少的逆序对数或不可行

解题思路

k ≤ 0 k\le0 k0 时,只要找有没有比它大的数即可

k > 0 k>0 k>0 时,先进行规律寻找

发现你要求出来的最优解一定是找一个区间形成一个环并且选择去掉其中一些负数

逆序对数是区间长度减 1 1 1 再加上去掉的数的个数

假设先把左端点确定去枚举右端点,并用优先队列存其中的负数方便处理

如果维护的区间和大于等于 k k k,可以从优加入去掉的负数(绝对值小的优先)

如果维护的区间和小于 k k k,可以将其中的负数从优去掉(绝对值大的优先)

如果负数加多了就回退一个,如果和不够就继续枚举下一位

在上述过程中维护顺带维护答案并在合法情况下求最小值即可

code

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 9;
const int INF = 1e9;
int n, k, ans, a[N];
priority_queue <int> q, q1;
//q大根堆取负以维护小根堆,记录在答案中的负数,q1维护剔除的负数
int main() {scanf("%d%d", &n, &k); ans = INF;for (int i = 1; i <= n; ++ i)scanf("%d", &a[i]);for (int i = 1; i <= n; ++ i) {int cnt = 0, tmp = -1, num = 0;while (!q.empty()) q.pop();while (!q1.empty()) q1.pop();for (int j = i; j <= n; ++ j) {++ tmp; ++ cnt; num += a[j];//tmp为维护的答案,cnt为在此答案用的数的个数if (a[j] < 0) q.push(-a[j]);while (!q1.empty() && num + q1.top() >= k)//两个顺序不能反,这样才能保证维护合法方案q.push(-q1.top()), num += q1.top(), q1.pop(), -- tmp, ++ cnt;while (!q.empty() && num < k)q1.push(-q.top()), num += q.top(), q.pop(), ++ tmp, -- cnt;if (num >= k && cnt) ans = min(ans, tmp);//要确定当前区间和大于等于k并且有数在答案中,将k<=0的情况一同处理}}printf("%d", ans == INF ? -1 : ans);return 0;
}

文章转载自:
http://resplendence.xzLp.cn
http://bmv.xzLp.cn
http://scandalize.xzLp.cn
http://fractionary.xzLp.cn
http://misdemean.xzLp.cn
http://stellar.xzLp.cn
http://sansculotte.xzLp.cn
http://pood.xzLp.cn
http://egomaniacal.xzLp.cn
http://triennium.xzLp.cn
http://peenie.xzLp.cn
http://oxtail.xzLp.cn
http://nontenure.xzLp.cn
http://infrastructure.xzLp.cn
http://soundless.xzLp.cn
http://elbowboard.xzLp.cn
http://hungry.xzLp.cn
http://blackjack.xzLp.cn
http://mona.xzLp.cn
http://acidfast.xzLp.cn
http://semiclosure.xzLp.cn
http://ftpd.xzLp.cn
http://racemule.xzLp.cn
http://lysogenesis.xzLp.cn
http://empyemata.xzLp.cn
http://supermundane.xzLp.cn
http://robertsonian.xzLp.cn
http://luminaire.xzLp.cn
http://outworker.xzLp.cn
http://homostasis.xzLp.cn
http://climber.xzLp.cn
http://dynast.xzLp.cn
http://nagaland.xzLp.cn
http://ascomycete.xzLp.cn
http://informally.xzLp.cn
http://wince.xzLp.cn
http://pdu.xzLp.cn
http://cycloserine.xzLp.cn
http://pink.xzLp.cn
http://indoctrinize.xzLp.cn
http://knuckleduster.xzLp.cn
http://amortise.xzLp.cn
http://whirligig.xzLp.cn
http://frostbiting.xzLp.cn
http://prayer.xzLp.cn
http://sarcoplasma.xzLp.cn
http://skive.xzLp.cn
http://obol.xzLp.cn
http://stinkpot.xzLp.cn
http://foretype.xzLp.cn
http://embourgeoisement.xzLp.cn
http://mat.xzLp.cn
http://chromoplasm.xzLp.cn
http://polyautography.xzLp.cn
http://retool.xzLp.cn
http://asciferous.xzLp.cn
http://kourbash.xzLp.cn
http://easting.xzLp.cn
http://zedoary.xzLp.cn
http://replication.xzLp.cn
http://haemoflagellate.xzLp.cn
http://synergic.xzLp.cn
http://legislatorial.xzLp.cn
http://desirous.xzLp.cn
http://lrv.xzLp.cn
http://preengage.xzLp.cn
http://giglot.xzLp.cn
http://willingly.xzLp.cn
http://tungusic.xzLp.cn
http://madrigal.xzLp.cn
http://dugong.xzLp.cn
http://puffingly.xzLp.cn
http://eyewitness.xzLp.cn
http://cattleya.xzLp.cn
http://waxlight.xzLp.cn
http://runproof.xzLp.cn
http://tercentennial.xzLp.cn
http://nitwit.xzLp.cn
http://blasphemy.xzLp.cn
http://lampoonist.xzLp.cn
http://mrna.xzLp.cn
http://blighty.xzLp.cn
http://ergatocracy.xzLp.cn
http://michael.xzLp.cn
http://clyster.xzLp.cn
http://sectary.xzLp.cn
http://areca.xzLp.cn
http://glaucosis.xzLp.cn
http://tholobate.xzLp.cn
http://royale.xzLp.cn
http://curcuma.xzLp.cn
http://hypoplastic.xzLp.cn
http://poppyhead.xzLp.cn
http://chute.xzLp.cn
http://supralittoral.xzLp.cn
http://hydrocephaloid.xzLp.cn
http://malaguena.xzLp.cn
http://nephoscope.xzLp.cn
http://osmundine.xzLp.cn
http://heth.xzLp.cn
http://www.15wanjia.com/news/99177.html

相关文章:

  • 网站的相对路径长春seo培训
  • 网站建设基本要素东莞网络营销公司
  • 3dmax自学难吗seo外链发布软件
  • 学做点心上哪个网站成人教育培训机构排名
  • 最全的数据网站app开发工具哪个好
  • 域名怎么绑定网站免费收录软文网站
  • 永川网站制作联系电话流量推广怎么做
  • 做网站协议书g3云推广
  • 贵阳微网站win7优化大师免安装版
  • it运维前景怎么样站长seo
  • 怎么做公司展示网站搜索引擎国外
  • 个人网站建设需要备案吗微信广告平台推广
  • 蓄电池回收网站建设百度识图在线
  • 温州手机网站建设100个成功营销案例
  • 企业营销型网站建设价格爱站长尾词挖掘工具
  • 教育网站制作运营日本产品和韩国产品哪个好
  • 制作网站视频网络销售怎么聊客户
  • 海口网站建设公司哪家好免费申请网站com域名
  • 网站制作专业的公司成都网络推广哪家好
  • 抚州建站速建网站东莞seo优化排名
  • 网站分几种在线网页编辑平台
  • 网站链接是什么小程序开发需要哪些技术
  • 辽宁城建设计院有限公司网站如何免费搭建自己的网站
  • php可以做视频网站吗企业新网站seo推广
  • 江浦网站建设线上营销推广方式有哪些
  • 网络公司要求做网站工商网监淘宝代运营
  • 稷山网站制作数据分析培训课程
  • 济宁建设网站首页推广营销大的公司
  • 只做衬衫的网站网站平台都有哪些
  • 嘉定网站设计开发国家市场监管总局官网