1201:处理一下每个位置往上最远能走多远就行了
1202:用并查集维护值的统计 如果检验到同集合的两个元素的值不合法代表不可行
1206:拿个堆维护就行了
1207:f[i]表示最后停在i这里的最优价值 暴力枚举转移就行了
1208:数据结构裸题 支持插入、询问前驱后继
1211:prufer 编码的应用 套式子就行了 这东西现在基本都不用了吧
1212:在每个位置暴力一下就行了吧……话说不理解为什么我写了棵字母树……
1213:python二分答案
1215:枚举所有算式WA掉了 初中的代码果然不靠谱 哪天回来补吧
1216:又是拿堆模拟的玩意儿 HNOI肿么这么喜欢这种东西……
1217:考虑覆盖最深的点选取它的爷爷一定是最优的 不断做就行了
1218:用个前缀和优化然后找出最大的就行了
1221:这题跟软甲开发有毛线关系……直接把网络流24题里面那道搬过来了……看网络流24题就行了……
1222:dp f[i][j]表示做到第i个零件时两台机器的时间差为j时的最小时间 将i滚动即可
1223:找规律神马的 主要是高精度
1224:数据范围看起来很大实际上加点小剪枝就直接搜过了……
1225:首先肯定是用最小的几个质数 然后搜索如何分配约数个数加上高精度就行了
1226:考虑到C很小所以可以用2^C表示前C个人的是否用餐情况 并且记录上一个人到当前决策位置的距离(节省状态数)转移即可
1228:手算一算小数据找找规律就可以把SG值定出来了
1230:最基础的线段树
1231:f[i][j]表示已经选了集合为i的牛最后一名是j,转移枚举下一头可行牛
1232:最小生成树 最后每条边一定会被走两次
1233:倒着DP 单调队列优化
1236:按奇偶位分解做数位DP
1237:最坏也一定是排好序后的相邻三个数进行置换求解 所以O(N)DP即可
1242:弦图基础
1249:平衡树维护凸包……过于经典了……
1251:又是数据结构裸题
1257:sqrt(n)分段做 每段的变化是一致的
1258:模拟题
1260:f[i][j][k]表示将i到j这一段最后涂为了k还需要的最小步数
1261:f[l][r]表示l到r单独成树的最小代价 转移枚举根即可
1263:分解成很多个二加至多一个三 高精度
1264:搞忘了(补)
1265:又是高精度……
1266:最短路图上的边要割掉最小代价的边是起点和终点不联通 然后就没有然后了
1268:将可置换群用强连通分量找出,然后删除不可行的点就是答案(数据有误)
1269:数据结构裸题
1270:水到不行的DP……
1271:看不懂题了……应该很水的样子……
1272:对T进行2^T次方的容斥求解
1273:维护每一位上的信息分情况讨论
1280:如果有两个客户有相同的猪圈那么前者的所有猪都可以直接交给后者 据此建图网络流
1293:单调队列扫一遍
1295:将障碍作为距离为1的边对每个点做spfa
1296:对每行DP之后再用背包合并
1297:将距离不为1的边拆点然后用矩阵推就行了
1299:大爆搜