随笔分类 -  ACM/算法/数据结构

摘要:问题描述 输入描述 输出描述 输入样例 输出样例 Hint 并不知道这题算什么题型。。。好题(我不会的都是好题,哼。。。 比赛时一直在找规律。。最后也没做出来。。。后来问了同学╭(╯^╰)╮ 数组f[i]记录第i天一共有多少个数字,数组ans[i]第i天的数字和。注意到其实并不需要算到一百天。 阅读全文
posted @ 2015-11-30 19:14 我不吃饼干呀 阅读(317) 评论(0) 推荐(0) 编辑
摘要:做这题简直是一种折磨。。。 有n个骑士,骑士之间相互憎恨。给出骑士的相互憎恨的关系。 骑士要去开会,围成一圈坐,相互憎恨的骑士不能相邻。开会骑士的个数不能小于三个人。求有多少个骑士不能开会。 注意:会议可以开无数次,也就是说一个骑士其实是可以开多次会议的,所以一共可以开会的人也未必是奇数。 求出相互 阅读全文
posted @ 2015-11-30 18:33 我不吃饼干呀 阅读(375) 评论(0) 推荐(0) 编辑
摘要:给定一个图,并给定边,a b c(c==1||c==2) 表示ab之间有c条边 求把尽可能多的有向边定向变成强联通图。 先把图当做无向图,加边时记录是否有边,dfs的时候不要把本没有的边用到!因为这个错了好多次。。。。然后就简单了,记录桥就可以了。 阅读全文
posted @ 2015-11-30 18:26 我不吃饼干呀 阅读(311) 评论(0) 推荐(0) 编辑
摘要:给一个无向图,要求变成强连通的有向图,需要保留哪些边。 边的双连通,对于桥保留两条边,其他的只保留一条边。求双连通的过程中记录保留边。 阅读全文
posted @ 2015-11-30 18:20 我不吃饼干呀 阅读(408) 评论(0) 推荐(0) 编辑
摘要:崇拜有传递性。求所有牛都崇拜的牛tarjan算法求强连通。 如果不连通就不存在。如果联通,缩点后唯一一个出度为零的点就是答案,有多个则不存在。 阅读全文
posted @ 2015-11-30 18:14 我不吃饼干呀 阅读(152) 评论(0) 推荐(0) 编辑
摘要:有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点。 一个连通无向图最少加几条边变成双连通图(缩点后叶子节点(即度数为1)的个数 + 阅读全文
posted @ 2015-11-24 10:44 我不吃饼干呀 阅读(257) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/wenruo/p/4989425.html 强连通 强连通是指一个有向图中任意两点v1、v2间存在v1到v2的路径及v2到v1的路径。 dfs遍历一个图,会生成一颗树。每个节点按最先遍历的时间给定一个编号,用一个数组dfn表示,又叫时间戳。 然后有几个概 阅读全文
posted @ 2015-11-23 19:40 我不吃饼干呀 阅读(2031) 评论(0) 推荐(0) 编辑
摘要:有n(n<10)个小球,每两个碰撞有其中一个会消失,并产生一定能量。求产生最大能量。 有了正确思路题目比较简单,我的思路果然是歪的。。。 我的思路是dp[i][j]表示i这个状态剩下第j个小球,然后转移方程: 感觉没什么问题,但是WA了好多好多次呢! 知道自己怎么错的是个大事。。。。。。。。。 因为 阅读全文
posted @ 2015-11-20 18:11 我不吃饼干呀 阅读(374) 评论(0) 推荐(0) 编辑
摘要:写之前觉得很恶心,写完了觉得挺好玩了,1A,棒棒哒~ 题解全在代码注释中了,想清楚思路一路写下了果然没怎么卡 ^_^ 阅读全文
posted @ 2015-11-17 23:46 我不吃饼干呀 阅读(271) 评论(0) 推荐(0) 编辑
摘要:vector建图被卡了。。改为链式前向星500ms过的。。差了四倍多?。。。 表示不太会用链表建图啊。。自己试着写的,没看模板。。嗯。。果然错了。。落了一句话orz 树的重心就是找到一个树中一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。 阅读全文
posted @ 2015-11-14 18:05 我不吃饼干呀 阅读(325) 评论(0) 推荐(0) 编辑
摘要:太开心了,终于做出来了。 先上图卡了半年的题啊~~~~ 首先一种简单的做法,就是找到直径的两端,分别dfs一下,求出两端到每个点分别的距离取最大值就ok。 然后是树形dp的做法。真心不懂不懂不懂啊啊啊啊啊! 翻来覆去的看好多大牛小牛的博客,最后终于看kuangbin巨巨的代码明白了。。。心酸。。。看 阅读全文
posted @ 2015-11-13 20:18 我不吃饼干呀 阅读(245) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/wenruo/p/4959509.html 给一个图(不一定是连通图,无重边和自环),求练成一个长度为奇数的环最小需要加几条边,和加最少边的方案数。 很容易知道连的边数只能是0,1,2,3。 如果是二分图一定不含长度为奇数的环。 难点是如果是二分图怎么求 阅读全文
posted @ 2015-11-12 16:44 我不吃饼干呀 阅读(401) 评论(0) 推荐(0) 编辑
摘要:Description 如上图所示的一个台阶他的积水量是4 + 2 + 4 + 3 + 4 = 17. 给你一个长度是n的台阶。告诉你每个台阶的高度,求积水量是多少? 如上图所示的一个台阶他的积水量是4 + 2 + 4 + 3 + 4 = 17. 给你一个长度是n的台阶。告诉你每个台阶的高度,求积水 阅读全文
posted @ 2015-11-11 10:58 我不吃饼干呀 阅读(247) 评论(0) 推荐(0) 编辑
摘要:裸最小生成树。用kauskal做方便一些。 不得不说这么大数据用cin cout 真是作死。。活该T那么多次。。。 阅读全文
posted @ 2015-11-07 23:43 我不吃饼干呀 阅读(266) 评论(3) 推荐(0) 编辑
摘要:需要排序的01背包。 这种题排序时只需要考虑两个怎么排,重载小于号就可以了。 需要注意的是,如果一个物品你想先放进背包里,那么你排序是要放到后面!01背包的放置顺序的倒着的! 看到别人的博客都只是比较了q-p,表示不解,但是都能AC。。。是谁错了呢?或者我这种表达式可以化成那个样子? AC代码: 阅读全文
posted @ 2015-11-02 16:45 我不吃饼干呀 阅读(304) 评论(0) 推荐(0) 编辑
摘要:http://acm.uestc.edu.cn/#/problem/show/1218 既然二维dp表示不了,就加一维表示是否在边界放置,放置一个,两个。有一个trick就是如果只放一根,那么多长都可以。 wa了好多次(囧) 开始因为l[i]/2会出现小数,没注意,把所有的长度都x2就可以解决。 又 阅读全文
posted @ 2015-10-30 20:02 我不吃饼干呀 阅读(423) 评论(0) 推荐(0) 编辑
摘要:花了近5个小时,改的乱七八糟,终于A了。 一个无限数列,1,2,3,4,...,n....,给n个数对<i,j>把数列的i,j两个元素做交换。求交换后数列的逆序对数。 很容易想到离散化+树状数组,但是发现那些没有交换的数也会产生逆序对数,但我没有算。 经明神提示, 把没有用到的数字段化成点。然后用树 阅读全文
posted @ 2015-10-30 00:50 我不吃饼干呀 阅读(857) 评论(0) 推荐(0) 编辑
摘要:貌似竟然是我的第一道概率DP。。 手机码代码真不舒服。。。。 阅读全文
posted @ 2015-10-29 12:38 我不吃饼干呀 阅读(215) 评论(0) 推荐(0) 编辑
摘要:果然对状压DP,我根本就不懂=。= 阅读全文
posted @ 2015-10-24 10:52 我不吃饼干呀 阅读(297) 评论(0) 推荐(0) 编辑
摘要:赛后当天学长就说了树状数组,结果在一个星期后赖床时才有了一点点思路…… 因为无法提交,不确定是否正确。。嗯。。有错希望指出,谢谢。。。 嗯。。已经A了。。提交地址http://acm.uestc.edu.cn/#/problem/show/1217 阅读全文
posted @ 2015-10-24 10:34 我不吃饼干呀 阅读(453) 评论(0) 推荐(0) 编辑