上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 38 下一页
摘要: 求一棵树内最远的两点,DFS,顺便记录以某节点为根内最远的两点的距离,返回最远点的距离。其实是DP。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define LL unsigned __int64 7... 阅读全文
posted @ 2015-03-10 19:45 chenjunjie1994 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 水一发,最小生成树。注意不连通情况。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define LL unsigned __int64 7 using namespace std; 8 9 cons... 阅读全文
posted @ 2015-03-10 12:40 chenjunjie1994 阅读(96) 评论(0) 推荐(0) 编辑
摘要: BFS+强连通。输出max(缩点后出度为0的点数,缩点后入度为0的点数)。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define LL unsigned __int64 7 using... 阅读全文
posted @ 2015-03-09 22:59 chenjunjie1994 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 连接点应该是只需连接而不必覆盖。按开始时间排序。假设当前最远为t,则按序枚举在t+1范围内开始的cow即可,再求出最远点。注意break条件。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define ... 阅读全文
posted @ 2015-03-09 21:40 chenjunjie1994 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 这道题以前好像在哪遇到过。注意树的每一条边都是桥,所以,桥两端的点要到达对方是必须通过这条边的。于是,可以把边由小到大排序,利用并查集,这样,每加一条边就连通了一部分,而随着权值的增大,必定是桥两端到达对方经过的最大的边。于是总的权为左边集合数*右边集合数*桥的权值,就可以求出最大值和了。求最小值和... 阅读全文
posted @ 2015-03-09 15:56 chenjunjie1994 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题意有点不明白,因为MAX为int最大值,推测为64位,AC#include #include #include #include #include #define LL __int64using namespace std; const LL MAX=2147483647;cons... 阅读全文
posted @ 2015-03-09 11:13 chenjunjie1994 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 我想了很久了,后来还是把N分解质因数,枚举各种组合,反正也不多吧,按题目条件,然后就过了。#include #include #include #include #include #define LL __int64using namespace std; LL prime[1000... 阅读全文
posted @ 2015-03-09 11:12 chenjunjie1994 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 挺水的一道线段树+DP题。可以从底往上添加线段,每添加线段之前查询端点所被覆盖的区间线段。再从最顶往下DP,每次从端点出发,递推覆盖该端点的区间线段的两端的值即可。 1 #include 2 #include 3 #include 4 #include 5 #include ... 阅读全文
posted @ 2015-03-08 23:20 chenjunjie1994 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 卡特兰数的一个变形而已。一个经典的习题变过来的:n+m个人排队买票,并且满足,票价为50元,其中n个人各手持一张50元钞票,m个人各手持一张100元钞票,除此之外大家身上没有任何其他的钱币,并且初始时候售票窗口没有钱,问有多少种排队的情况数能够让大家都买到票。此时答案是:反过来考虑就是,把右括号看成... 阅读全文
posted @ 2015-03-08 20:20 chenjunjie1994 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 呃。。其实挺水的一题,不说了。。伤心。。这题应该是要分开奇偶性的,因为如果不分开,当a0+...+ai=0,a(i+1)+....+aj=K时,求出来会出错。维护两种前缀和,sum=a0-a1+a2......aisum=-a0+a1-a2.....ai维护两个HASH,第一种前缀和当i为奇数时加入... 阅读全文
posted @ 2015-03-08 16:46 chenjunjie1994 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 每次添加,计算出被覆盖的长度,离散化X坐标,按Y坐标排序加入即可。今天好伤心,我好水。。。。#include #include #include #include using namespace std; #define lson l , m , rt > 1; if (... 阅读全文
posted @ 2015-03-07 21:11 chenjunjie1994 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 维护左连续,右连续区间最大值,同时维护区间内最大的连续区间值。同时是使用标记法完成。很强大。注意出现的状态-1,很巧妙,代表该结点不能再下传了,即不符合下传条件。#include #include #include #include using namespace std; ... 阅读全文
posted @ 2015-03-07 12:27 chenjunjie1994 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 基本参考http://blog.csdn.net/metalseed/article/details/8039326总的来说,敲完一遍理解会更加好一点,标记下传法。U:把区间[l,r]覆盖成1I:把[-∞,l)(r,∞]覆盖成0D:把区间[l,r]覆盖成0C:把[-∞,l)(r,∞]覆盖成0 , 且... 阅读全文
posted @ 2015-03-07 11:04 chenjunjie1994 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 这题和上题一样,但要注意,这题专业反人类反STL,用map离散化TLE。。#include #include #include #include #include #include #include #include #include #include #define LL __int64usin... 阅读全文
posted @ 2015-03-05 17:59 chenjunjie1994 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 成段更新,使用标记向下传递的方法,当前Now被染色,向下传可分成两半,这样,在处理另一半时,其中一半仍保存着正确的颜色。#include #include #include #include #include #include #include #include #include #include ... 阅读全文
posted @ 2015-03-05 15:54 chenjunjie1994 阅读(166) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 38 下一页