其实直接暴力O(n3)DP+O2O(n^3)DP+O_2O(n3)DP+O2​优化能过- CODE O(n3)O(n^3)O(n3) 先来个O(n3)O(n^3)O(n3)暴力DP(开了O2O_2O2​)100分代码(极限数据0.5s0.5s0.5s) #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int MAXN = 2005, INF = 0x…
题目描述 小火车虽然很穷,但是他还是得送礼物给妹子,所以他前往了二次元寻找不需要钱的礼物. 小火车准备玩玩二次元的游戏,游戏当然是在一个二维网格中展开的,网格大小是\(n\times m\)的,某些格子是好的,其余的则是不好的.每次你可以选择最底层(也就是第\(n\)层)的某两个相邻的列,并消掉最底下的至多三个格子,并且这两列都得有格子被消掉(也就是\(L\)型或者反着的\(L\)型),消掉格子以后上面的格子会掉落下来.当然最上面的空位会用不好的格子填满. 小火车想得到所有的好格子送给妹子,请问…
考试的时候 看到概率 看到期望我就怂 推了一波矩阵树推自闭了 发现 边权点权的什么也不是. 想到了树形dp 维护所有边的断开情况 然后发现数联通块的和再k次方过于困难. 这个时候 应该仔细观察一下 和再k次方之后会出现什么 容易发现是一个类似隔板法的东西. 也就是 选出k个点的集合 集合可重 代价为点权之积. 只需要把所有的情况都做出来就行了. 至于联通块考虑一个一个统计贡献. 这也就是说 对于每一个联通块来说我们指定一个根节点来统计 要不然会算重. 不难发现以每个点的子树内部为联通块 可以不重…
NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]ImpossibleGame…
算是一道比较新颖的题目 尽管好像是两年前的省选模拟赛题目.. 对于20%的分数 可以进行爆搜,对于另外20%的数据 因为k很小所以考虑上状压dp. 观察最后答案是一个连通块 从而可以发现这个连通块必然存在一个深度最浅的点且唯一 所以随便找一个点做根然后对自己子树内寻找答案就可以是正确的. 考虑另外的30%的数据k<=3 可是颜色数最多可以有n个 不知道哪个是最终答案. 一次状压dp的复杂度:\(2^{2k}\cdot n\) 容易得到可以暴力枚举一下 然后要做 \(C(n,3)\) 这样会TLE…
(2:00)OID:"完了,蓝屏了!"(代码全消失) 众人欢呼 OID:开机,"原题测试--" (30min later)OID 开始传统艺能: " ∗ ∗ ∗ *** ∗∗∗又AK了,承认自己强很难吗?--狗把人吃!--" 众人大汗,感到不妙-- 众所周知,如果一个选手在比赛时提前码完了,AK 了,他就会觉得这场比赛简单,推己及人,觉得别人都 AK 了,于是自以为揭破真相似的对别人说:"你 AK 了",这是传统艺能.因此,大…
传送门 Solution A. 一共有\(T\)组数据 每次询问你\([l,r]\)中有多少个数能被他的所有数位整除(如果数位中含有\(0\)忽略掉) 数位dp,咕咕咕 B. 题面略 考虑一个个只有两个元素组成的小区间 可以发现若选择\([l,l+1]\),则必定要选择一个最大的区间包含\([a[l],a[l+1]]\)的区间 每个小区间看成一个点,向它所要求必须要选择的点连边,线段树优化建图 对图进行tarjan缩点,然后拓扑排序即可 全是区间询问,大概要有5棵线段树的样子 其实有简单得多的解…
题目/题解戳这里 这道题题目保证a,b,ca,b,ca,b,c各是一个排列-mdzz考场上想到正解但是没看到是排列,相等的情况想了半天-然后写了暴力60分走人- 由于两两间关系一定,那么就是一个竞赛图(完全图让每一条边都有向).显然就是tarjan.然后发现有很多边其实可以不存在,比如a>b>ca>b>ca>b>c,在竞赛图中就存在3条边a→b,b→c,a→ca\to b,b\to c,a\to ca→b,b→c,a→c.其实最后这一条边已经没有必要连了.那么就可以用主…
DP+卡常数+高精度/  计算几何+二分+判区间交/  凸包 首先感谢徐老师的慷慨,让蒟蒻有幸膜拜了学军的神题.祝NOI2015圆满成功 同时膜拜碾压了蒟蒻的众神QAQ 填填填 我的DP比较逗比……(当时看到其他大神有更加优秀的做法) f[i][j]表示前 i 个数,第一行填了 j 个的方案数,那么如果 i 并没有固定位置,f[i][j]=f[i-1][j]+f[i-1][j-1];即 i 这个数放在第一行或是第二行...(废话) 如果 i 固定的位置是第一行(1,y),那么f[i]中只有f[i…
题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽分别是xi和yi.对于第二副牌的每张牌长和宽分别是aj和bj.第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj.(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能覆盖好多张. LYK想让两副牌的各n张一一对应叠起来.它想知道第二副牌最多有几张能被第一副牌所覆盖. 输入格式(water.in) 第一行一个数n. 接下来n行,每行两个数xi,yi. 接下来n行,…