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