自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 1124: [POI2008]枪战Maf

题目链接题目大意:给定n个神枪手,每个神枪手瞄准一个人,以一定顺序开枪,问最少和最多死多少人题解:首先考虑无环的情况,对图分层,入度为0为1层,必定存活存活最多:奇数层存活 存活最少:只有第一层存活考虑有环存活最多:画图发现环的答案为len/2 存活最少:只剩下1个注意:在程序中统计的是存活的最大,最小人数,输出时用n减去即可我的收获:思路强啊#incl...

2017-07-24 21:56:23 383

原创 3319: 黑白树

6

2017-07-24 21:56:15 744

原创 1593: [Usaco2008 Feb]Hotel 旅馆

5

2017-07-24 21:56:08 251

原创 1197: [HNOI2006]花仙子的魔法

题目链接题目大意:求若干个n维球体最多能把n维空间分为多少部分题解:可以手玩一下1,2维,然后就可以看题解了 Orz,Orz我的收获:跪啊#include<cstdio>#include<iostream>using namespace std;long long f[18][101];int m,n;int main(){ scanf("%d%d",&m,&n);f[0][0

2017-07-24 21:56:00 249

原创 1432: [ZJOI2009]Function

题目链接题目大意:构造一个奇怪函数,最小化其组成段数题解:跪啊 丢链接跑 1,2我的收获:手玩,画图#include<cstdio> #include<iostream> using namespace std; int main(){ int n,k; scanf("%d%d",&n,&k); printf("%d\n",(n==1)?1:min(k,n-k+1

2017-07-24 21:55:51 250

原创 1483: [HNOI2009]梦幻布丁

2

2017-07-24 21:55:26 422

原创 1031: [JSOI2007]字符加密Cipher

1

2017-07-24 21:55:18 228

原创 4320: ShangHai2006 Homework

题目链接题目大意:两种操作:1.加入一个数x,保证x不存在 2.询问所有数中modY最小的值题解:Orz Claris并查集维护我的收获:强啊,姿势神啊#include <cstdio>#include <iostream>using namespace std; const int N=300010,M=550; int n=300000,m=n/M,q,x;int pos[N],f

2017-07-23 22:17:24 299

原创 4428: [Nwerc2015]Debugging调试

题目链接题目大意:两种操作:加一个printf,运行程序,(脑补输出调试)求出debug的最快时间题解:Orz Orz我的收获: 枚举姿势强啊#include<stdio.h>#include<iostream>using namespace std;#define ll long longint n,r,p;ll f[1000005];inline ll dfs(int n){

2017-07-23 19:19:27 465

原创 1148: [CTSC2007]挂缀pendant

题目链接题目大意:n个珠子,每颗有重量和载重量,一个合法的挂坠需要其上每一个珠子下面的所有珠子的重量和小于这个珠子的载重量 求挂坠最长长度及此时最小重量题解:显然可以用经典的堆维护贪心方法来搞 现在思考按照什么排序理性(感性)瞎猜一下,发现按照c+w排序 证明似乎这种题都这样排?这个题没有数据范围!!!!我开始的时候用int WA了,我就都替换成long long了……我的收获: 套路深#in

2017-07-23 19:03:35 419

原创 1044: [HAOI2008]木棍分割

题目链接题目大意:有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 可以砍最多m次,要求长度最大的一段长度最小, 并求此时的方案数题解:第一问显示是二分+贪心检验 考虑第二问f[i][j]表示前i个分成j块满足条件的方案数f[i][j]=∑ki−1f[k][j−1],(sum[i]−sum[k]≤len)f[i][j]=\sum\limits_{k}^{i-1

2017-07-23 17:10:09 597

原创 1433: [ZJOI2009]假期的宿舍

题目链接题目大意:给定一些人,有些人是在校学生,有些去学校探访,在校学生有些回家,一个人只能睡认识的人的床,求能不能睡下题解: 最大流: 增加源s,连(s,i,1),其中i为每个有床的人 增加汇t,连(j,t,1),其中j为每个需要床的人 连(i,j,1),其中j可以睡i的床 判断是否满流即可但是这题明显是二分图啊…… 二分图:左侧点外校的和不回家的本校学生(他们需要床),右侧点为所有床

2017-07-23 15:09:10 235

原创 1260: [CQOI2007]涂色paint

题目链接题目大意:给木板涂色,一次可以给[l,r]涂上相同的颜色,求涂成目标状态的次数题解:区间dp f[l][r]f[l][r]表示[l,r][l,r]压缩后最短长度,初始值f[l][r]=r−l+1f[l][r]=r-l+1 转移:枚举区间分割点k,l≤k<rk,l \leq k <r f[l][r]=f[l][k]+f[k+1][r]f[l][r]=f[l][k]+f[k+1][r],合

2017-07-23 10:58:07 493

原创 1264: [AHOI2006]基因匹配Match

题目链接题目大意:给定n个数和两个长度为n*5的序列,两个序列中的数均由1..n组成,且1..n中每个数恰好出现5次,求两个序列的LCS题解:考虑LCS的性质 LCS的决策+1的条件是a[i]==b[j] 于是我们记录a序列中每个数的5个位置f[i]表示以a[i]为末尾的最长公共子串长度(避免讨论)f[i]表示以a[i]为末尾的最长公共子串长度(避免讨论)依次处理b[i],找到5个位置转移,f[k

2017-07-23 10:33:32 751 1

原创 2666: [cqoi2012]组装

题目链接题目大意:给定数轴上的m个点,共有n种颜色,要求在数轴上选定一个点,使这个点到每种颜色最近的点的平方和最小题解:Orz我的收获  :证明太神啦#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <algorithm>using namespace std;#define M

2017-07-23 10:08:38 358

原创 2763: [JLOI2011]飞行路线

题目链接题目大意:最短路,k条边可以免费,求费用题解:分层图大概就是多维状态,比正常的图多了跨维度状态转移 d[i][j]表示从s到节点i用了j次免费的最小花费d[i][j]表示从s到节点i用了j次免费的最小花费我的收获:分层图get#include <iostream>#include <cstring>#include <cstdio>#include <cstring>#includ

2017-07-23 09:06:39 345

原创 2036: 聪明的阿卑多

题目链接题目大意:求用最少多少个数可以表示出1–n的所有数,并求方案数题解:第一问同1192,第二问暴力dp即可,dp[i][j][k]表示前i枚硬币,用了j枚,表示k个数字的方案数dp[i][j][k]表示前i枚硬币,用了j枚,表示k个数字的方案数我的收获:强强强#include <vector>#include <algorithm>#include <utility>#include <

2017-07-23 08:58:04 644

原创 2822: [AHOI2012]树屋阶梯

题目链接题目大意:求用n个长方形填充一个高度为n的阶梯状图形的方法个数 题目中的空心并没有什么用题解:参见wiki百科catalan数 证明 分解质因数只需要一个高精乘低精我的收获:劲啊n=int(raw_input())  temp=1 for i in range (1,n+1):      temp=temp*(4*i-2)/(i+1)  print temp

2017-07-20 23:39:29 414

原创 2809: [Apio2012]dispatching

题目链接题目大意:n个点组成一棵树,每个点都有一个领导力和费用,可以让一个点当领导,然后在这个点的子树中选择一些费用之和不超过m的点,得到领导的领导力乘选择的点的个数(领导可不被选择)的利润。求利润最大值题解:主席树/启发式合并可做 当然是选择可并堆啦 先选择所有点,超了就把最大的扔掉,用堆维护 因为每个点的堆由其子树的堆合并得到,需要可并堆我的收获:堆维护的套路贪心#include <cst

2017-07-20 23:01:20 305

原创 3545: [ONTAK2010]Peaks

题目链接题目大意:给定一个无向图,每个点和每条边都有权值,多次询问从点v开始只能经过边权小于等于x的点中权值第k大题解:离线,把边和询问都按照边权从小到大排序,动态加边 对每个点维护一颗权值线段树,每次计算答案之前将边权小于等于限制的边两端的连通块(并查集维护)的权值线段树合并,然后在权值线段树上查询即可因为用了权值线段树,要离散化h我的收获:线段树合并吼啊#include <iostream>

2017-07-20 21:10:36 355

原创 3673/3674: 可持久化并查集加强版

题目链接题目大意:可持久化并查集,强制在线题解:可持久化线段树+启发式合并 rope强啊我的收获:#include<cstdio>#include<ext/rope>using namespace __gnu_cxx;rope<int> *fa[200002];int n,m,i,x,y,p,ans,a[200002];int find(int x){ if(fa[i]->at(

2017-07-20 16:10:09 316

原创 2760: [JLOI2011]小A的烦恼

题目链接题目大意:模拟文件合并题解:首先,需要较高的语文阅读理解能力 然后,会用string我的收获:强#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>using namespace std; const int M=1005; int n,m,l

2017-07-20 12:08:59 615

原创 1468: Tree

题目链接题目大意:询问树上距离小于等于k的点对数题解:点分治,抄抄板子就会了我的收获:点分治T1 get#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt;using namespace std;const int M=10...

2017-07-19 23:19:35 301

原创 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚

144141

2017-07-19 23:19:12 257

原创 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通

1134131

2017-07-19 23:19:04 296

原创 1106: [POI2007]立方体大作战tet

题目链接题目大意:给定一个长度为2n的序列,1~n各出现两次,可以交换相邻两项,两个同样的数放在一起会对消,求把所有数对消的最小交换次数题解:容易想到(,对于每个数,直接取最近的消掉即可 证明 这个可以用树状数组很方便的维护,但是要相信科技的力量!!! (我才不会说我用listTLE了呢)我的收获:分类讨论证明(吼难啊,vector乱搞神啊#include <cstdio>#include

2017-07-19 22:41:35 425

原创 1103: [POI2007]大都市meg

题目链接题目大意:将边权修改为0(初始为1)和查询某个点到1的距离题解:题意杀…… dfs序搞搞就行了我的收获:……。#include <iostream>#include <cstdio>#include <cstring>using namespace std; #define M 250005 int n,m,t,tim,c[M],x,y;int head[M],in[M],

2017-07-19 22:34:05 285

原创 2241: [SDOI2011]打地鼠

题目链接题目大意:给定一个m*n的洞穴矩阵,每个洞穴里面有若干地鼠,我们需要选定一个r*c的锤子进行击打,每次击打必须保证r*c的范围内所有洞穴均有地鼠,且每次击打只会打掉每个洞穴恰好一只地鼠,求最小击打次数题解:由于数据水,这题O((nm)3),O((nm)2),二分乱搞都能过……O((nm)^3),O((nm)^2),二分乱搞都能过……首先枚举长和宽,然后判断可行性,判断的时候就是二维区间修改+

2017-07-19 22:29:41 454

原创 1634: [Usaco2007 Jan]Protecting the Flowers 护花

题目链接题目大意:把n只奶牛送回牛棚,运送一头奶牛需要t[i]的时间,在运送的时候其他奶牛每分钟吃d[i]朵花(已经或正在被送回去的不吃),安排顺序,使得被吃的花尽量少题解:调整法应用 对于相邻的x,y x在y前面 吃的花的数量是d[y]*2*t[x], y在x前面 吃的花的数量是d[x]*2*t[y], 若x在y前面更优(吃的花数量少),需满足d[y]*t[x]<<d[x]*t[y]我

2017-07-18 22:47:15 262

原创 3043: IncDec Sequence

题目链接题目大意:求最大的黑白相间子矩阵/子正方形大小题解:进行一个非常巧妙的条件转换:将i+j为奇数的格子颜色反转,这样就变成求黑色最大子矩阵和白色最大子矩阵取max了,最大子正方形显然是最大子矩阵的一部分当然不转化也是随便做的(逃时间复杂度O(mn)O(mn)我的收获:悬线法劲 #include <iostream>#include <cstring>#include <cstdio>

2017-07-18 22:32:56 355

原创 1057: [ZJOI2007]棋盘制作

题目链接题目大意:求最大的黑白相间子矩阵/子正方形大小题解:进行一个非常巧妙的条件转换:将i+j为奇数的格子颜色反转,这样就变成求黑色最大子矩阵和白色最大子矩阵取max了,最大子正方形显然是最大子矩阵的一部分当然不转化也是随便做的(逃时间复杂度O(mn)O(mn)我的收获:悬线法劲 #include <iostream>#include <cstring>#include <cstdio>

2017-07-18 20:22:24 284

原创 1257: [CQOI2007]余数之和sum

题目链接题目大意:给出一个数列(初始为空),给出一个最小值Min,当数列中的数字小于Min时自动删除。四种操作:(1)数列中增加一个元素,设置初始值x;若x小于Min则不插入;(2)所有的元素增加一个值det;(3)所有的元素减小一个值det;此时有可能有一些会被删除(4)询问目前所有元素中第K大的。最后输出删除了多少个。题解:因为增加减少的操作是对于所有元素的,用一个全局标记tmp记录。 每插入

2017-07-18 19:09:25 288

原创 1503: [NOI2004]郁闷的出纳员

题目链接题目大意:给出一个数列(初始为空),给出一个最小值Min,当数列中的数字小于Min时自动删除。四种操作:(1)数列中增加一个元素,设置初始值x;若x小于Min则不插入;(2)所有的元素增加一个值det;(3)所有的元素减小一个值det;此时有可能有一些会被删除(4)询问目前所有元素中第K大的。最后输出删除了多少个。题解:因为增加减少的操作是对于所有元素的,用一个全局标记tmp记录。 每插入

2017-07-18 18:18:46 372

原创 1101: [POI2007]Zap/2045: 双亲数/2301: [HAOI2011]Problem b

题目链接题目大意:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d题解:令a′=[a/d],b′=[b/d]令a'=[a/d],b'=[b/d]∑i=1a∑j=1b[gcd(i,j)=k]\sum\limits_{i=1}^a\sum\limits_{j=1}^b[\gcd(i,j)=k]==∑i=1a′∑j=1b′[gcd(i,j)=1]\sum\l

2017-07-17 22:28:37 415

原创 2008/2109/2535: [Noi2010]航空管制

本来是三倍经验,但是2008没有special judge过不了,只有双倍了23333

2017-07-17 19:41:06 370

原创 1066: [SCOI2007]蜥蜴

题目链接题目大意:行c列网格图上有一些高低不平的柱子,一些柱子上有蜥蜴,一只蜥蜴一次能跳距离为d,每次蜥蜴跳跃时出发柱子高度减一,当柱子高度为0时消失,问最少多少蜥蜴不能跳出网格图。题解:无法逃离的最小值就是tot-能逃离的最大值首先,柱子的处理可以按照结点容量拆成两个点来搞增加源s,连(s,i,1),其中i为每个有蜥蜴的柱子,表示其对答案贡献为1 增加汇t,连(j,t,INF),其中j为每个能跳

2017-07-17 11:23:27 268

原创 1113: [Poi2008]海报PLA

题目链接题目大意:N个矩形,排成一排. 用尽量少的矩形海报Cover住它们题解:首先观察到,答案上界为n,矩形的宽度是没有用的 从左到右遍历,对于一个矩形,若其左边有和它高度相同的,且中间没有更低的,就可以用一张海报覆盖它们之间的部分,用单调栈(单调不下降)维护即可我的收获:……#include <iostream>#include <cstdio>using namespace std;in

2017-07-17 11:13:42 263

原创 1064: [Noi2008]假面舞会

题目链接题目大意:给定n个人,分别戴着k类面具(k>=3,k未知),其中戴着i类面具的人能看见第i%k+1类人的面具,给定一些人互相看到的关系,求k的最大最小值题解:ORZ,ORZ,ORZ我的收获:考虑问题的思路,跪啊#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespac

2017-07-17 10:57:32 307

原创 1922: [Sdoi2010]大陆争霸

题目链接题目大意:最短路,每个点有一个限制,只有限制点全部到达才能到达这个点题解:对于一个城市i,分开求其到达时间和可进入时间,d[i]取这两个的max我的收获:搞搞搞#include <queue>#include <cstdio>#include <cstring>#include <iostream>using namespace std;#define INF 0x3f3f3f3f

2017-07-16 20:06:58 267

原创 2212: [Poi2011]Tree Rotations/3702: 二叉树

题目链接题目大意:有一个n个叶子结点的树,叶子结点上有权值,且为[1,n]的排列。 你可以交换任一非叶子结点的左右儿子,请最小化中序遍历后的逆序对个数。题解:发现对于一个节点x,它的左儿子L,右儿子R,无论儿子的子树怎么换,对该节点统计的答案都没有影响……,对每个结点的子树分开考虑(因为两颗互不包含的子树互不影响),所有节点的两个子树间的逆序对个数总和就是整个树的逆序对个数总和。对每个叶子节点维

2017-07-16 19:57:09 305

空空如也

空空如也

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

TA关注的人

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