摘要:
题意:你可以收集两个不相交区间的权值,区间权值是区间异或,问这两个权值和最大是多少 分析:很多有关异或求最大的题都是利用01字典树进行贪心,做这个题的时候我都忘了。。。最后是看别人代码的时候才想起来这个套路 l[i],记录,从 1 到 i 里 最大的异或区间权值, r[i], 记录,从 i 到 n 阅读全文
摘要:
题目链接:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1252 思路:考虑每条边对玩家的伤害 假设连接的节点是u,v,破坏力是p[u]和p[v] 假设p[u]>p[v] 现在考虑u,v的删除顺序,如果先删u,这条边对玩家的 阅读全文
摘要:
就是改成把一个字符串改成三进制状压,然后分成前5位,后5位统计, 然后直接统计 f[i][j][k]代表,后5局状压为k的,前5局比和j状态比输了5局的有多少个人 复杂度是O(T*30000*25*m)m比较小,也就最多几十吧,将将过 #include <cstdio> #include <cstr 阅读全文
摘要:
这个题如果裸搜肯定超时了 但是我们可以枚举,用初始串的哪一位数字去填目标串的那一位数字 这样就是暴力6!,复杂度很低,然后需要解决过程中经过的点的问题, 因为是从左向右走,所以记录当前光标, 和当前达到的最右端 所以复杂度是O(T*36*(6!)),2000w的复杂度 #include <cstdi 阅读全文
摘要:
分析:树形dp<!--StartFragment --> dp[i][v]代表以i为根的子树中权值为v的节点到i的路径和 c[i][v]代表以i为根的子树中权值为v的节点个数 对于一个节点 有很多孩子分支,从最左边的分支开始,算跨过当前根节点的每次分支算一次最后再算当前根节点i与它子树互质的每次算的 阅读全文
摘要:
http://www.cnblogs.com/wally/p/3228171.html 题解请戳上面 然后对于01规划的总结 1:对于一个表,求最优比例 这种就是每个点位有benefit和cost,这样就是裸的01规划 2:对于一个树,求最优比例 这种就是每条边有benefit和cost,然后通过最 阅读全文
摘要:
裸题 看分析请戳这里:http://blog.csdn.net/hhaile/article/details/8883652 #include<stdio.h> #include<algorithm> using namespace std; const int N=1e3+5; const dou 阅读全文
摘要:
一个完全图,每两个点之间的cost是海拔差距的绝对值,长度是平面欧式距离, 让你找到一棵生成树,使得树边的的cost的和/距离的和,比例最小 然后就是最优比例生成树,也就是01规划裸题 看这一发:http://blog.csdn.net/sdj222555/article/details/74907 阅读全文
摘要:
分析:这个题刚看起来无从下手 但是我们可以先简化问题,首先可以固定起点i,求出i+1到n的最小距离 它可以到达的范围是[i+1,a[i]],贪心的想,我们希望换一次车可以到达的距离尽量远 即:找一个k,使得i+1<=k<=a[i],a[k]的值最大,就可以保证,换一次车,可以到达的距离最 找k的操作 阅读全文
摘要:
转自:http://blog.csdn.net/qwb492859377/article/details/51447350 #include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include 阅读全文