02 2019 档案

摘要:hdu2473并查集的删除操作建立虚点,删除它就断掉了它在原图中的所有关系,而成为独立节点,而且它只能被删除一次,而且删除之后还能进行操作,采用映射(虚点)的方法,建立虚点并把删除之后的操作挪到虚点上来。啊,初始化确实有问题,有可能多次删除的,所以要按操作的数量来,比如全部删除等等数据,哭了 1 # 阅读全文
posted @ 2019-02-28 20:53 WeiAR 阅读(173) 评论(0) 推荐(0) 编辑
摘要:hdu3944题目中给出的杨辉三角形的形状带有误导目的,应该转化成对称的形状再去思考这个问题分两种情况第一个是在左区从目标位置向左上方走一直走到边界,然后再向右上方一直走到起点n-k个1加上C(n-k,0)+C(n-k+1,1)+C(n-k+2,2)+...+C(n,k)C(n-k,0)+C(n-k 阅读全文
posted @ 2019-02-23 11:43 WeiAR 阅读(129) 评论(0) 推荐(0) 编辑
摘要:HDU6397用小于n的m个数组成k,求方案数mod 998244353如果没有n的限制,直接用隔板法求就可以因为m个数中可以为0,所以不妨先都放上一个1,转化成不能为0的m个数来凑k+m,即C(k+m-1,m-1);加了限制之后就用容斥原理去维护就好了至少有i个不小于n的方案数为C(m,i)*C( 阅读全文
posted @ 2019-02-22 17:51 WeiAR 阅读(195) 评论(0) 推荐(0) 编辑
摘要:容斥原理推导错排通项公式设Ai是第i个元素放在第i个位置上的排列数_Ai表示Ai的补集所以我们要求的就是-->如图 转化一下,它们其实是等价的 也就是 右边可以套容斥原理了A1 U ... U An=n!-C(n,1)*(n-1)!+C(n,2)*(n-2)!-...=n!*( sigema{2<= 阅读全文
posted @ 2019-02-18 15:48 WeiAR 阅读(747) 评论(0) 推荐(1) 编辑
摘要:重复排列的证明感觉就跟完全背包一样233333||||||||一个有n+1个用这样的墙来隔开一个一个的空,每个空里放*,第i个空代表第i个元素,*的个数代表第i个元素有重复的多少个,所以出去开头和末尾的两个墙,最后只有n-1+r个位置,从这些位置里选出r个,剩下的墙就从左往右按顺序插上就好了。 阅读全文
posted @ 2019-02-18 10:42 WeiAR 阅读(305) 评论(0) 推荐(0) 编辑
摘要:圆排列证明还是断环为链的思想,然后把链想象成队列,把队头移动到队尾,就会形成一个新的队列,但是连成环的话还是同一个环,这样最多移动k次,也就是有k个重复。 阅读全文
posted @ 2019-02-18 10:33 WeiAR 阅读(197) 评论(0) 推荐(0) 编辑
摘要:rock-paper-scissors维护三个前缀和,然后注意顺序,最后做差来确定可行的答案,因为答案比较小,可以考虑这种暴力做法,像这种方案数可以++的题真的不多,如果想不出来特别优秀的想法,不妨简单化思维 1 #include<iostream> 2 #include<cstdio> 3 #in 阅读全文
posted @ 2019-02-16 11:36 WeiAR 阅读(357) 评论(0) 推荐(0) 编辑
摘要:The more, The Better依赖背包+树形dpf[x][j+1]=max(f[x][j+1],f[x][j+1-k]+f[i->n][k]);我的一个疑问就是这k个节点会不会选重复,答案是不会的,因为从一开始就不会重复,根据dp原理回溯的时候过程是一样的,也是不会重复的 1 #inclu 阅读全文
posted @ 2019-02-16 10:10 WeiAR 阅读(390) 评论(0) 推荐(0) 编辑
摘要:分层图最短路问题啥是分层图,我两天才理解了一点,大概就是一层一层的,就像大楼一样,而且你现在就在楼顶,只能下楼不能上楼。它与分层图最短路问题相关说白了就是普通的最短路问题+可以免费走k次建图的时候每建一条边就往下一层的对应点上连一条边权为0的边然后正常跑最短路 这种题一般是稠密图,如果没负权边直接上 阅读全文
posted @ 2019-02-14 17:23 WeiAR 阅读(190) 评论(0) 推荐(0) 编辑
摘要:背包问题是否装满问题我之前写背包都没怎么注意这个问题,上一道题遇到了还以为是读错题了,因为题解的做法和正常背包好像没有什么区别,但它有个细节是初始化,一旦要满足装满,那么f[0]=0,其他的都要f[i]=inf;当前只要有不是inf的值就可以保证一定是满的,可以递推的思想去理解。 阅读全文
posted @ 2019-02-13 14:06 WeiAR 阅读(549) 评论(0) 推荐(0) 编辑
摘要:P1993 小K的农场比较裸的差分约束,只是我判负环的时候sb了... 有负环意味着无解 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<algorithm> 5 #include<cmath> 6 #incl 阅读全文
posted @ 2019-02-13 11:54 WeiAR 阅读(258) 评论(0) 推荐(0) 编辑
摘要:洛谷负环板子题 差点没笑死我 之前的题解都在清一色diss bfs,吹爆dfs 如今改了数据bfs又崛起了,dfs回家种地了,哈哈哈哈哈 dfs版 1 // luogu-judger-enable-o2 2 #include<iostream> 3 #include<cstdio> 4 #inclu 阅读全文
posted @ 2019-02-13 11:41 WeiAR 阅读(150) 评论(0) 推荐(0) 编辑
摘要:poj3311我写的第一篇状压dp,调试了好久23333,其实状压就是二进制结合位运算,把整体的状态用二进制来表示,一般是0/1,用没用过或者走没走没走过的问题,其实这种思想在搜索中也有涉及过,与dp结合灵活度较高。状态占1维,还有其他维。这个题就是f[i][j]表示,i状态下,当前在j位置的最短距 阅读全文
posted @ 2019-02-10 10:47 WeiAR 阅读(206) 评论(0) 推荐(0) 编辑