关闭
当前搜索:

[边双连通分量 缩点 虚树 欧拉序列LCA] Codeforces 639F VK Cup 2016 - Round 1 F. Bear and Chemistry

这道题就是缩缩缩! 先把原图缩成一个双连通树 然后查询的时候把所有关键点缩成一颗虚树 加完询问里的边 在缩一次双连通 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline ch...
阅读(225) 评论(0)

[欧拉回路] Codeforces 429E #245 (Div. 1) E. Points and Segments

题解传送门:http://codeforces.com/blog/entry/12265 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,...
阅读(370) 评论(0)

[欧拉回路 dfs树] Balkan OI 2016 Acrobat

传送门:http://boi2016.ccs.org.cy/ 大概就是一个二分图 每次可以使一条xi-yj的边变换为xj-yi 或在y之间任意加边 使存在欧拉回路 我们可以先把x侧都度数为偶数 我们发现 对于xi-yj进行变换 xi yi xj yj 奇偶性都发生变化 然后呢 我们对 i-j 连边成为一个新图 那么就是找尽量少的边使每个点度数符合要求奇偶性 这个在任意一可生成树上贪心...
阅读(271) 评论(0)

[点分树] BZOJ 3924 [Zjoi2015]幻想乡战略游戏

%%%CLJ 首先动态维护每个点的答案?动态树分治就好了 怎么找重心 对于分治结构的每一个点,我们枚举它的出边 如果某条出边连向的点的距离之和小于当前点,那么答案一定在那条出边指向的子树中,分治做下去就行了 这样是两个log再乘20的  实际上最优可以一个log 跑的竟然还没有当年不懂事打的暴力快 #include #include #include us...
阅读(215) 评论(0)

[dfs树 神奇思路] Codeforces 730K NEERC16 Southern Subregional K. Roads Orientation Problem

这种思路是怎么想到的 学习新姿势 https://wiki-new-meta.icpc-camp.org/2016-2017%20ACM-ICPC,%20NEERC,%20Southern%20Subregional%20Contest #include #include #include #include #include #define cl(x) memset(x,0,siz...
阅读(270) 评论(0)

[伪位运算生成树] HDU 5629 Clarke and tree

求边权and和最大生成树 从高位到低位枚举 看这位为1的以及满足当前答案(答案上为1的位 则边权这一位也要为1)的边是否能构成一棵生成树 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) {...
阅读(144) 评论(0)

[莫比乌斯反演 高斯消元 数学技巧] BZOJ 3601 一个人的数论

推导过程直接拉过来不是很好  看这位神犇的吧 http://www.cnblogs.com/jianglangcaijin/p/4033399.html #include #include #include using namespace std; typedef long long ll; const ll P=1e9+7; inline ll Pow(ll a,ll b)...
阅读(208) 评论(0)

[树上LIS 线段树合并] Codeforces 490F #279 (Div. 2) F. Treeland Tour

这道题数据好小啊 那么就可以暴力DP了 这里有nlog2n的做法 我们想一条链可以在他的LCA处统计 每个点 我们对于以每个子树中的权值结尾的LIS LDS记录在线段树里 我们可以向上合并线段树 答案在合并的时候更新就好了 用 这一棵左儿子的lis和那一颗右儿子的lds 与 这一棵左儿子的lds和那一颗右儿子的lis 更新答案 #include #include #includ...
阅读(278) 评论(0)

[玄学分治 || 线段树] BZOJ 2675 Bomb & Tsin 1322 Bomb(李超)

玄学分治做法 %%% http://www.cnblogs.com/ccz181078/p/5603283.html 三个点(x1,y1),(x2,y2),(x3,y3)的两两曼哈顿距离和为2(max(x1,x2,x3)+max(y1,y2,y3)-min(x1,x2,x3)-min(y1,y2,y3)) 四项三个点 由抽屉原理 必至少有两项是同一个点的 那么最大值就是 max...
阅读(235) 评论(0)

[分块 块的分裂 || 替罪羊树套线段树] BZOJ 3065 带插入区间K小值

省选时收了分块大师的教导 于是用分块过了这题 当时竟然没有发上来 具体快忘完了 只是记得分裂什么的 #include #include #include #include using namespace std; typedef pair abcd; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; ...
阅读(243) 评论(0)

[点分树 树状数组] BZOJ 3730 震波

线段树T成翔 只能用vector写BIT 痛苦的回忆啊 思路不难想 先建出点分树 然后每个点对于他掌管的点的距离与权值建成BIT 然后每次查询就是爬点分树 这里有点注意 往树上爬的时候不能中途break,不会因为有一个祖先爬不上去就终止,说不定有一个爷爷比爸爸还近 #include #include #include #include using namespace std;...
阅读(156) 评论(0)

[点双连通分量 缩点 树链剖分] Codeforces 487E #278 (Div. 1) E. Tourists

点双连通分量的缩点技巧 来自:http://blog.csdn.net/a_crazy_czy/article/details/52244069 在这里我们使用这样一种方法:对于每一个点双连通分量,我们建一个新建点储存点双所有点的最小权值,然后该点向点双内所有不是深度最小的点连一条边,然后深度最小的点(大多情况为割点,当然树根不一定是割点)向这个新建点连边。  注意到这棵树一定是普通...
阅读(279) 评论(0)

[BFS Tarjan_LCA 生成树] CERC 2016 H Hangar Hurdles

就是题解写的这样了 #include #include #include #include #define X first #define Y second using namespace std; typedef pair abcd; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf;...
阅读(398) 评论(0)

[XOR最小生成树 分治 Trie || Prim 堆] BNUOJ 52318 Be Friends

关于位运算生成树问题 尛焱轟在APIO上专门讲过 一些杂七杂八的东西 不过还是没怎么搞清楚 这个可以分治 显然对于最高位 为0的一团 为1的一团 那么只需要找最小的一条边连接 这个可以在其中一半枚举 另一半建成Trie在上面查询 然后分治到低一位 #include #include #include #include using namespace std; typ...
阅读(293) 评论(0)

[AND最大生成树 分治 Trie || Kruskal] UOJ Goodbye Yiwei C #176. 新年的繁荣

这个直接上题解吧 :http://vfleaking.blog.uoj.ac/blog/1244 Kruskal  用尛焱轟的话来说就是 枚举边权 可以发现一种边权最多只有O(m)个联通块需要合并 O(m 2^m a(n)) #include #include #include using namespace std; typedef long long ll; inli...
阅读(197) 评论(0)

[LCT 边双连通分量缩点] BZOJ 2959 长跑

一个边双连通分量肯定可以定向成一个环 那么就缩点 每次连接 要是本来不连通 就连起来 连通的话就把树上路径全缩起来 询问就是树上路径的值 #include #include #include #include #include #include using namespace std; typedef pair abcd; typ...
阅读(189) 评论(0)

[K短路 可持久化堆] HDU 5960 Subsequence

建图不难 然后直接上K短路 A*被完虐 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)); using namespace std; typedef long long ll; inline char nc(){ static char buf[1000...
阅读(272) 评论(0)

[K短路 可持久化堆 最短路径树] JDFZ 2978 第k短路(强)

链接:https://oj.jdfz.com.cn/oldoj/problem.php?id=2978 鼎爷的【课件】堆的可持久化和k短路 #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)); using namespace std; ty...
阅读(213) 评论(0)

[LCT 动态最大生成树] HDU 5398 GCD Tree

一个数肯定是和自己约数连更优 那么就是动态维护最小生成树 两个log #include #include #include #include #include #include using namespace std; typedef pair abcd; typedef long long ll; inline char nc(){ static...
阅读(158) 评论(0)

[二分图染色判奇偶换 || 并查集] HDU 5215 Cycle

其实判奇偶环应该可以用带权并查集 不是很清楚 没有写过 二分图无奇环 非二分图必有奇环 偶环么 要是两个奇环有公共点必然可以变成一个偶环 那么在dfs树上打标记 看一个点被几个奇环包含 标记先差分再向上传递 老套路了 #include #include #include #include #pragma comment(linker, "/STACK:102400000,10240...
阅读(196) 评论(0)
73条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:307461次
    • 积分:12383
    • 等级:
    • 排名:第1310名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论