自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十分残念的博客

EL PSY CONGROO

  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 COGS-2295 榴莲(整体二分+树状数组+树上差分)

2295. [HZOI 2015]榴莲★★☆   输入文件:Durio_zibethinus_Murr.in   输出文件:Durio_zibethinus_Murr.out   简单对比时间限制:1 s   内存限制:512 MB【题目描述】众所周知,榴莲长在树上,同时榴莲很臭现在给定你一棵榴莲树,树根为1要求你维护以下操作:1、 1 u v w 树上长出

2017-08-30 16:51:08 927

原创 Codeforces-814D An overnight dance in discotheque(贪心)

传送门:CF-814D题意:有n个圆,圆与圆之间只有2种关系:①一个圆覆盖另一个圆;②两个圆最多只有1个交点;定义每个圆的贡献为这个圆的面积,将这n个圆分成2个集合,每个集合中,被覆盖了奇数次的圆的贡献为正,被覆盖了欧数次的圆的贡献为负,要求求出最大的总贡献(圆本身已被覆盖了1次)题解:将圆从大到小排序,如果某个圆u覆盖了还未被覆盖的圆v,就将u,v连一条边(一定是大的圆覆盖小的圆),这样

2017-08-30 15:24:45 397

原创 Codeforces-814E An unavoidable detour for home(DP)

传送门:CF-814E题意:给出n个点每个点的度数为2或3,对于第i个点和第i+1个点,第i个点到第一个点的最短距离不能大于第i+1个点到第一个点的最短距离,问有多少种建图的方法根据题意有2个性质:①有边连接的两个点的深度差不超过1,否则bfs中根到某个节点的距离就不是最短路②深度相同的点,编号一定是连续的状态转移时,只考虑当前层和上一层的设f[i][j]为一共有i个点

2017-08-30 15:03:20 1490 2

原创 Codeforces-821E Okabe and El Psy Kongroo(矩阵快速幂+dp)

传送门:CF-821E#include #define x first#define y secondusing namespace std;typedef long long LL;const LL mod = 1e9 + 7;int sz;struct Mat { LL x[16][16]; Mat() { memset(x, 0, sizeo

2017-08-30 14:59:23 340

原创 Codeforces-809C Find a car(分治)

传送门:CF-809C#include#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define x first#define y second#define add(x,y) (x+=y)%=mod;using namespace std;typedef long long LL;const int MX = 2e5

2017-08-30 14:57:57 558

原创 Codeforces-813D Two Melodies(dp)

D. Two Melodiestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAlice is a beginner composer and now she is

2017-08-29 10:00:02 597

原创 Codeforces-830D Singer House(组合数+dp)

D. Singer Housetime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputIt is known that passages in Singer house a

2017-08-27 16:04:44 649

原创 GYM-101350L All’s Wall That Ends Wall(线段树)

L. All’s Wall That Ends Walltime limit per test3.0 smemory limit per test256 MBinputstandard inputoutputstandard outputIn the magical forest, you come upon N wa

2017-08-26 12:59:29 800

原创 Codeforces-840C On the Bench(dp)

 C. On the Benchtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA year ago on the bench in public park Leha found an array of ...

2017-08-22 21:30:01 1467

原创 Codeforces-815C Karen and Supermarket(树型dp+背包)

传送门:Codeforces-816E题意:有n个物品,购买第i个物品需要花费Ai元,每个物品都有相应的折扣劵,如果使用折扣劵买第i个物品可以折扣Bi元,但如果要使用第i个折扣劵必须要先使用第pre[i]个折扣劵(第一个折扣劵没有限制),现在有V元,问最多能买多少物品题解:树型dp+背包设dp[u][cnt][0/1]为以u为根的子树中,购买cnt个物品时的最小花费,0表示第u个物品不

2017-08-21 21:55:43 402

原创 Codeforces-839D Winter is here(容斥原理)

D. Winter is heretime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWinter is here at the North and the White

2017-08-21 17:27:39 615

原创 Codeforces-822D Winter is here(DP)

D. Winter is heretime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWinter is here at the North and the White

2017-08-21 16:52:16 304

原创 HDU-6135 Casual Podracing(CDQ分治)

传送门:HDU-6135题意:一个长度为L的圈,有n个人在上面跑,每个人的起始位置为di,速度为vi,且起始位置和速度均不相同,每个人有力量值wi,如果一个人遇到力量值比自己大的,则这个人会被标记,直到不会有人再被标记时将会停止,问这个过程总共花费多少时间题解:CDQ分治设2个人的起始位置为d1和d2,d1=t2+t*v2或d1+t*v1因此可以二分时间,记录时间t下每个人跑的距离

2017-08-21 14:17:49 661

原创 HDU-6150 Vertex Cover(构造)

传送门:HDU-6150网络赛的时候不知道哪根筋搭错了,硬是想不出来,感觉一道全世界都会写的题目,自己就是写不出(导致挂机2个半小时)好想进第一页啊TAT题意:有一个贪心算法求最小顶点覆盖是每次选出度数最大的点然后删去,要求输出一个图使得这个算法跑出来的答案是你给出的答案(正确答案)的三倍及以上。题解:构造首先可以想到,如果能把点分成2部分,左边一部分有n个点,右边一部分至少有

2017-08-19 23:02:42 1345

原创 HDU-6122 Color the chessboard(思维题)

传送门:HDU-6122有一个nn行mm列的棋盘,最初每个位置是指定的红色或蓝色或白色。你要将白色的位置染成红色或蓝色,使得对于任意一个长宽均为偶数的连续子棋盘,其中红色和蓝色的位置数相等,求方案数模998244353998244353。1\leq n,m\leq10^31≤n,m≤10​3​​。即每个2*2连续子矩阵红蓝数量相等。令红为1,蓝为0,如果让把所有格子按行号与

2017-08-16 22:09:36 922 2

原创 HDU-6126 Give out candies(最小割)

传送门:HDU-6126有nn个小朋友,标号为11到nn,你要给每个小朋友至少11个且至多mm个的糖果。小朋友们共提出kk个要求,每个要求包括三个整数x,y,zx,y,z,表示xx号小朋友得到的糖果数减去yy号小朋友得到的糖果数,结果应当不大于zz。如果你给ii号小朋友jj颗糖果,他会获得w_{i,j}w​i,j​​的满意度,你需要最大化所有小朋友的满意度之和。1\leq n,m\leq5

2017-08-16 17:29:20 583

原创 COGS-1715 [CQOI2011]动态逆序对(树状数组+线段树)

1715. [CQOI2011]动态逆序对★★★   输入文件:inverse.in   输出文件:inverse.out   简单对比时间限制:2 s   内存限制:128 MB【题目描述】对于序列A,它的逆序对数定义为满足ij,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。

2017-08-16 00:02:07 577

原创 COGS-2275 [HEOI 2016] seq(树状数组+线段树)

传送门:COGS-2275题意:给出n个数的序列,并给出m种变化,每次变化会改变一个数的值(临时的),要求找出最长的子序列,这个序列在每次变化中都是单调不减的,输出子序列的长度题解:首先可以得到动态规划公式:f[i]=max(f[j])+1 (Max[j]可以将后面的约束条件转换为二维平面中的点(Max[j],a[j]),问题就转换成求(1,1)到(a[i],Min[i])的矩形内权值

2017-08-15 23:56:39 288

原创 COGS-2282 [HZOI 2015]黑树白(树状数组+树链剖分)

2282. [HZOI 2015]黑树白★★   输入文件:D_Tree.in   输出文件:D_Tree.out   简单对比时间限制:3.5 s   内存限制:512 MB【题目描述】给定一棵树,每个节点有点权,要求维护以下两个操作:1、Q u v a b 本蒟蒻施展大魔法,使得树上所有点权>=a且点权2、M u v 本蒟蒻施展小魔法,将u点的点权改为v

2017-08-15 23:49:22 351

原创 COGS-2258 复仇的序幕曲(动态树分治)

传送门:COGS-2258题意:在一棵n个节点的树上进行m次询问:与u的距离不超过t的节点权值和题解:动态树分治每一层子树把节点按与根节点的距离排序,记录一下前缀和 #include&lt;bits/stdc++.h&gt;using namespace std;const int MX = 8e4 + 5;const int MXM = MX * 40;struct...

2017-08-14 21:33:47 324

原创 COGS-2278 树黑白(动态树分治)

传送门:COGS-2278题意:给定一棵树,要求维护以下操作:1、M u 将u节点反色2、Q u 查询u到所有黑色节点距离和题解:动态树分治,更新时判断一下原本是黑色还是白色,是黑色就减去u与根的距离,是白色就加上#includeusing namespace std;const int MX = 2e5 + 5;const int MXM = MX * 40;stru

2017-08-14 20:48:59 601

原创 BZOJ-4012 开店(动态树分治)

传送门:BZOJ-4012题意:给定一棵树,每个点有一个颜色,多次询问颜色在[l,r]区间内的所有点与某个点之间的距离之和又是一个数组开小T到怀疑人生系列。。(我怎么总是管不住这双手root数组只开MX呢)一个经典的动态树分治题目,用树状数组保存每个节点到该层子树的根节点的距离,然后一层一层计算就行。= =本来应该是这样的,后来看了下发现颜色有n种,n^2logn的树状数组肯定爆内

2017-08-14 19:02:33 337

原创 Codeforces-734E Anton and Tree(树的直径)

E. Anton and Treetime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAnton is growing a tree in his garden. In

2017-08-12 19:26:29 352

原创 HDU-6096 String(字典树+线段树扫描线)

传送门:HDU-6096题解:字典树+线段树扫描线首先用字典树对字符串按前缀的字典序排序,然后翻转字符串再按后缀的字典序排序,如果某些字符串要满足某个前缀,那么这些字符串一定是前缀排序中相邻,如果要满足后缀同理。那么我们就可以得到2个区间[lx,rx],[ly,ry]分别代表满足前缀prf的字符串在[lx,rx]区间,满足后缀suf的字符串在[ly,ry]区间,如果某个字符串同时在这2

2017-08-12 00:54:43 513

原创 HDU-6102 GCDispower(莫比乌斯函数+树状数组)

传送门:HDU-6102题解:莫比乌斯函数+树状数组+离线操作先对查询按R升序排序,从左到右枚举Ak,再枚举A1~Ak-1中Ak的倍数(因为是1~n的全排列,因此总枚举量为nlogn),得到B数组,将B数组中的数都除以Ak,并按照A中的下标从小到大排序,然后只要求B中所有GCD(Bi,Bj)==1(i求二元组个数可以直接用莫比乌斯函数求得,对于Bi对答案的贡献为cnt[下标大于i且与B

2017-08-12 00:45:48 444

原创 HDU-5923 Prediction(并查集/暴力)

传送门:HDU-5923题意:给你一个图G(V,E),n个点m条边。然后有一棵点数为m的树T,根为1, 树中每个点对应为图G的每条边 接下来有q次查询,每次查询有一个点数为k的集合S, 如果一个树中一个点在集合S中,那么它的祖先也都要加入集合S,问由集合S组成的图G‘有多少个连通块吐槽:表示从来没用过如此暴力的并查集,30w*500的复杂度竟然可以随便过(还有T组数据。。。题解:并

2017-08-11 13:49:25 728

原创 HDU-6107 Typesetting(倍增法)

传送门:HDU-6107题解:ST算法整片文章可以被分成2部分:①中间没有图片的部分;②中间插有图片的部分可以将这2部分分别用ST离线,f[i][j]表示以第i个单词开始,连续1#include#define FIN freopen("in.txt","r",stdin);using namespace std;typedef long long LL;const int

2017-08-10 22:59:29 1048

原创 HDU-4705 Y(树型dp)

传送门:HDU-4705题意:一棵n个节点的树,要求统计所有满足以下条件的三元组的个数:①ABC是数上的节点;②ABC之间不存在一条连通这3个节点的简单路径题解:树型dpdp以u为根节点的子树时,计算2个状态:①dp1[u]:子树中LCA为u的三元组的个数;②num[u]:子树中LCA(x,y)!=x且LCA(x,y)!=y的二元组的个数那么子树u对答案的贡献为:dp1[u

2017-08-10 00:28:24 281

原创 HDU-4714 Tree2cycle(树型dp)

传送门:HDU-4714题意:一棵树有n个节点,有2种操作:①删除1条边;②添加1条边。每次操作花费为1,要求用最小花费使得这棵树变成一个环:整个图有n条边,每个点的度为2且构成1个联通块题解:树型dpdp以u为根节点的子树时时记录2种状态:①将子树变成一条链且其中一端为u的最小花费;②将子树变成一条链的最小花费#pragma comment(linker, "/STACK:102

2017-08-10 00:20:17 419 2

原创 HDU-4123 Bob’s Race(树型dp+RMQ)

传送门:HDU-4123题意:有n个点组成一棵树编号为1~n,定义一个点的最远距离为从该点出发的最长简单路径,有m次询问:求最大区间长度,使得区间内所有点最远距离的最大值-最远距离的最小值题解:先2次dfs求出每个点的最远距离,再用尺取法+RMQ找出最长区间#includeusing namespace std;typedef long long LL;const int MX

2017-08-10 00:14:40 464

原创 HDU-6093 Rikka with Number(计数/数位dp)

传送门:HDU-6093题意:如果一个数在某一进制d下所有位是0~d-1的排列,则称这个数为“好数”,问[L,R]之间有多少个“好数”题解:计数/数位dp由于L和R很大(L,R首先可以猜一个结论:每一个数之多只在一个d进制下能形成0~d-1的全排列。其证明也很简单:如果一个数在d进制下是“好数”,那么这个数一定在(d^(d-1),d^d]之间,因此d进制和d-1进制的区间是

2017-08-09 19:46:42 361

原创 HDU-6092 Rikka with Subset(dp)

传送门:HDU-6092这道题就是个01背包的逆过程,B[i]+=B[i-Aj]#includeusing namespace std;typedef long long LL;const int MX = 1e4 + 5;const int inf = 0x3f3f3f3f;int dp[MX];int main() { int T,n,m; //freop

2017-08-09 14:43:26 379

原创 HDU-5967 小R与手机(LCT)

小R与手机Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 456    Accepted Submission(s): 108Problem Description小R有n部手机,为了便于管理,他对一些手机设

2017-08-09 09:59:06 804

原创 HDU-4010 Query on The Trees(LCT)

Query on The TreesTime Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 6129    Accepted Submission(s): 2460Problem DescriptionWe hav

2017-08-09 09:55:22 356

原创 BZOJ-2049 Cave 洞穴勘测(LCT)

2049: [Sdoi2008]Cave 洞穴勘测Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 9169  Solved: 4393[Submit][Status][Discuss]Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别

2017-08-09 09:53:11 280

原创 BZOJ-2008 弹飞绵羊(LCT)

2002: [Hnoi2010]Bounce 弹飞绵羊Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 11350  Solved: 5769[Submit][Status][Discuss]Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,

2017-08-09 09:51:11 216

原创 POJ-2914 Minimum Cut(全局最小割)

Minimum CutTime Limit: 10000MS Memory Limit: 65536KTotal Submissions: 9913 Accepted: 4158Case Time Limit: 5000MSDescriptionGiven an undirected graph, in w

2017-08-05 23:56:54 367

原创 UVAlive-6577 Binary Tree(递推+找规律)

传送门:UVA-6577题意:有一个向下无限延伸的二叉树。有一串只含LRU的指令S,从根结点开始执行。LRU分别表示往左儿子走,往右儿子走,往父节点(如果当前节点为根节点,则跳过这一步)。然后输入一个可选步骤串T。可以选择T中的子序,从S串的终点开始走。然后问可以走到多少个不同的结点。题解:设l为如果要往左走,则可以走到l个新节点;r为如果要往右走,则可以走到r个新节点先只考虑只有

2017-08-05 20:07:38 312

原创 HDU-6065 RXD, tree and sequence(dp+LCA)

传送门:HDU-6065题意:根节点为1的有根树,给定一个排列,长度为n,要求将排列切分成K段,定义每段的价值为该排列中两两之间的公共祖先中的最浅深度。要求总价值最小题解:首先列出几个性质:性质1.所有节点的公共祖先的深度一定是两两节点之间的公共祖先的最浅深度性质2.如果某一段的前x个数的公共祖先为rt,那么加入第x+1个树后,公共祖先的深度是LCA(rt,a[x+1])证

2017-08-04 23:20:08 974

原创 HDU-6073 Matching In Multiplication(拓扑+dfs)

传送门:HDU-6073xjb拓扑一下把只有一条边的点去掉,然后dfs一下就行,中间TLE到怀疑人生,重写一遍就AC了,现在已经不想知道到底哪有问题了#includeusing namespace std;typedef long long LL;const int mod = 998244353;const int MX = 300000 + 10;struct Edge {

2017-08-04 20:44:26 321

从《Cash》谈一类分治算法的应用

本文将从今年NOI的一道动态规划问题Cash开始谈如何利用分治思想来解决一类与维护决策有关的问题

2018-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除