摘要: 唔哈哈哈哈哈哈,唔哈哈哈哈哈哈,我有博客了 阅读全文
posted @ 2020-07-03 21:35 zasdcn 阅读(190) 评论(6) 推荐(3) 编辑
摘要: 动态第k大,第k小,离线下来。 考虑第k小怎么求,二分一个数值,然后扫一遍有多少小于等于 $mid$ 的。一次nlogn,多次$n^2log$,既然你的是我的,我的就是你的,你做的就是我做的,我做的就是你做的,如果我做了,你又做,不就冗余了吗,那么就能一起二分,这样就是$nlogn$。怎么一起,还是 阅读全文
posted @ 2022-11-20 20:07 zasdcn 阅读(55) 评论(1) 推荐(1) 编辑
摘要: 这题很妙,当时用CD的方法,写平衡树,但是吧没有领会精神,写了200多行,发现前驱后继又不合法的情况,好像要写12种情况,就不想写了。然后就突然明白线段树做法了。。。 介绍一种线段树做法: 本质思想是一样的,可能实现上优雅一点? 本质思想:动态开点,最多会有十万个点,完全可以,如果一段区间被覆盖一次 阅读全文
posted @ 2022-11-20 18:09 zasdcn 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 额。。。忘得差不多了 1.陌上花开: 如何去重:我们直接去重,然后对于每一类数,贡献再加上tot - 1,我们直接对个数开桶即可。 2.动态逆序对: 下午一开就嘎嘎打,然后疯狂调,发现:我只考虑了当前数和之前形成的对,没有考虑这个数和后面数形成的对。 我们可以cdq求出这个数的贡献,然后对时间开桶, 阅读全文
posted @ 2022-11-20 17:24 zasdcn 阅读(110) 评论(4) 推荐(1) 编辑
摘要: 两个nb式: 集合Ai表示含有Pi性质的集合 1.不含P的并 = S - 1个交 + 2 个交 - 3个交...... 2.包含P的并 = 1个交 - 2 个交 + 3个交...... 文氏图可以很好的理解。包含P的并是不含P的补集,两者相加就是全集。 1.Amusement Park 绝了。。。做 阅读全文
posted @ 2022-11-20 10:50 zasdcn 阅读(63) 评论(0) 推荐(2) 编辑
摘要: 首先处理出来如果没有m轮的限制,每个水缸最多能被喝的次数,记为cnt[i] 根据重要性质:cnt小的一定会在cnt大的之前喝完 所以将cnt升序排序一下 这样我们就可以按cnt从小到大,从1到n挨个处理水缸,每一次处理都一直处理到该水缸喝完,且不用考虑其他水缸, 因为在他之前的肯定被喝完了,在他之后 阅读全文
posted @ 2022-09-17 20:21 zasdcn 阅读(47) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2022-08-14 21:03 zasdcn 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-08-14 21:02 zasdcn 阅读(0) 评论(0) 推荐(0) 编辑
摘要: ## 1.换根dp 1.kamp 首先肯定它是换根dp 因为最后一次不用回到起点,所以先不去想别的,最后再减去一个最长链 设g$[i],$为以i为根前往在这颗子树中的家的最小距离 $f[i],$为以i为起点,送回家的最小花费; 首先对于$g[i],g[u]= g[to]+2\times w;$ $s 阅读全文
posted @ 2022-08-14 20:39 zasdcn 阅读(39) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-08-14 17:00 zasdcn 阅读(1) 评论(1) 推荐(0) 编辑
摘要: 点击查看代码 #include<cstdio> #include<algorithm> using namespace std; const int N=2e6+100; int n,t,A[N],ans; bool check(int x,int y){ if(y>x)return 0; retu 阅读全文
posted @ 2022-06-28 21:52 zasdcn 阅读(37) 评论(0) 推荐(0) 编辑