摘要:
存题处/******************/为了迎接社会主义现代化建设所必须要的技术:1、尺取法2、反转法3、弹性碰撞4、折半枚举5、坐标离散化一、动规1.概率dpURAL 1776Anniversary Firework思路:此题直接求期望太过复杂。因为期望等于所有可能答案的概率与该答案的值的乘积的累加和,所以,我们可以求对于每个可能答案的概率,由此简化问题。1#include2#include3#include4#include56constintN=400+10;7doubled[N][N],sum[N][N];89intmain(){10intn;11scanf("%d&q 阅读全文
摘要:
目录:一、DP二、图论 1、最短路 2、强连通分量 三、利用单调性维护四、贪心五、数据结构 1、并查集 六、数学 1、计数问题 2、数学分析七、博弈八、搜索////////////////////////////////// 一、DP:1003: [ZJOI2006]物流运输trans(参见 http://hi.baidu.com/aekdycoin/item/88a8be0bf621c6314ac4a3d5 )首先对于某个时间段[i,j],我们可以轻松暴力删点以后求1-n的最短路然后就是一个区间DP的问题DP[i][j] 表示从第 i 天到第 j天的最优值,于是方程很显然:DP[i][j]. 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4750题意:定义f(u,v)为u到v每条路径上的最大边的最小值..现在有一些询问..问f(u,v)>=t的点对有所少对,注意(1,2)和(2,1)是不同的点对分析:原来最小生成树有一个很鬼畜的结论,那就是一个图的最小生成树中任意两个点的路径中的最大边一定最小。(妈蛋,完全不知道这个)然后此题就变得很明朗了,用kruskal算法,加边的时候此边连接的两个集合的路径中的最大边就是这个边,存储下来,询问的时候二分查找即可。1#pragmacomment(linker,"/STACK:10240000 阅读全文
摘要:
题意:给定一个长度为 n 的非负数列,定义 mex(l, r) 为 l,r 区间里最小的没有出现的数字。求所有 mex(l, r) 的和分析参见http://www.shuizilong.com/house/archives/hdu-4747-mex/我的代码:1#include2#include3#include4#include5typedeflonglongll;6#definelsonl,mid,rt>1;35build(lson);36build(rson);37Up(seg[rt],seg[rt>1))*fa.setv;44rs.sum=(ll)(len>> 阅读全文
摘要:
为了这题我都快wa傻了,简述几点1.鄙视卡内存的题目2.鄙视卡内存还卡时间的题目这题我本来是的思路是求一次最短路,删除这条路上的边,然后再求一次最短路,后来我举了一个例子,将这个方法否定掉了如果我们按照红色的路径删除最短路,就破坏了另一条最短路。因此我们换了一个思路,那就是求最大流。方法是:先求一次最短路,然后将最短路树上的每一条边都加入到一个新的图中,将流量设为1,费用就是边长,建立一个新的图,然后求两次最小费用最大流。理论上的基础是:1.最短路树上能到达终点的路径一定是最短路。2.所有边流量都是1,所以最大流一定不相交。View Code 1 //sevenkplus bless me.. 阅读全文
摘要:
题意我就不说了,反向dijkstra,难点就是反向推物品数和字典序输出答案 这里我简单分析下,原来是20,通过一个城镇就变成了19,可以将一个数看成很多20,那么反推就是看多少19; 关于字典序,因为A字典序小于a,所以按照从小到大根据dis的值反推即可 1 //sevenkplus bless me 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 ... 阅读全文