自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bzoj4306: 玩具厂

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4306思路:首先我们可以发现,只有一个点的w是不确定的那么我们记录一个cost[i],表示在i处建厂除了n点之外的所有点的运输费用之和。设w[n]=x,tot为环总长,dist[i]表示Σd[j] (1于是每个点建厂的真实费用就是形如kx+cost[i]的形式,k根据题意就是n

2015-10-30 09:07:58 541

原创 3999:孤独一生

传送门:然而并没有题目大意:思路:首先是O(n^2)的DP设f[i][j]表示第1个集合结尾为i,第2个集合结尾为j,其中i>=j分两种情况f[i][j]=f[i-1][j]+|h[i]-h[i-1]| (i>j+1)(第2个集合结尾是j,那么j+1到i这一段都是第一个集合的)=min(f[j][k]+|h[i]-h[k]|) (i=j+1) (其中第一个集合结尾已

2015-10-30 08:33:32 368

原创 bzoj4027: [HEOI2015]兔子与樱花

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=4027思路:自底向上贪心。设f[i]表示i的子树中最多能删多少点,g[i]表示i的子树删去f[i]个点后的重量。每次给儿子按g[son[i]]排序,贪心地从小到大删,直到不能删。为什么可以这样做?因为删下面的比删上面的点不会更差,如果因为按贪心删了儿子而导致

2015-10-29 09:50:40 1306

原创 bzoj2067: [Poi2004]SZN

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2067思路:首先第一问就是最少多少笔画完这个图,ans=1+Σ(deg[i]-1)/2第二问显然可以二分+判定。先二分最长长度限制lim怎么判定呢?对于每个点,把它子树所有点向上需要的答案统计出来到a[]中,如果子树个数是偶数,则额外加一个a[i]=0

2015-10-29 09:42:01 1304

原创 bzoj2071:[POI2004]山洞迷宫

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2071题目大意:在Byteotia有一个洞穴. 它包含n 个洞室和一些隧道连接他们. 每个洞室之间只有一条唯一的路径连接他们. Hansel 在其中一个洞室藏了宝藏, 但是它不会说出它在哪. Gretel 想知道. 当她询问一个洞室是否有宝藏时,如果她猜对了Hansel 会告诉她,

2015-10-28 17:18:59 714

原创 bzoj1063: [Noi2008]道路设计

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1063思路:首先m设f[i][j][k]表示以i为根的子树中,最大不便利值为j(到i的最多经过的公路条数),i向儿子连了k条铁路(k=0,1,2)的方案数然后就是最关键的一步了。j这有些类似树链剖分,如果用树链剖分的想法,那么可证j具体可以证明在3叉树时达到上限

2015-10-27 17:35:34 1057

原创 codeforces582C. Superior Periodic Subarrays

传送门:http://codeforces.com/problemset/problem/582/C思路:首先观察题目条件,对于一个数a[i]能出现在“Superior Periodic Subarrays”首先它要满足对于任意k属于N,a[i]>=a[i+k*n]并且对于任意k属于N,a[i]>=a[i+k*s]那么就是任意k属于N,a[i]>=a[i+k*d](d=gc

2015-10-25 20:20:50 654

原创 codeforces585D. Lizard Era: Beginning

传送门:http://codeforces.com/problemset/problem/585/d思路:中途相遇法前一半暴力枚举,后一半暴力枚举,在hash表里查找是否有合法的方案即可,输出方案在hash表存一个3进制数即可#include#include#includeconst int maxn=30,mod=9999993,base=500000000,maxt=6000

2015-10-25 20:09:24 472

原创 codeforces581F. Zublicanes and Mumocrates

传送门:http://codeforces.com/problemset/problem/581/FF. Zublicanes and Mumocratestime limit per test3 secondsmemory limit per test512 megabytesinputstandard input

2015-10-24 15:21:05 530

原创 codeforces580E. Kefa and Watch

传送门:http://codeforces.com/problemset/problem/580/EE. Kefa and Watchtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstand

2015-10-24 11:40:50 545

原创 codeforces578C. Weakness and Poorness

传送门:http://codeforces.com/problemset/problem/578/c思路:设f(x)为取x时的最大子段和,f(x)是先减后增的,于是可以用三分法求最值先确定初始区间[l,r],mid1=(l+r)/2,mid2=(mid1+r)/2O(n)求出f(mid1)和f(mid2)若f(mid1)>f(mid2)则令l=mid1否则令r=mid2直到

2015-10-23 17:03:26 457

原创 codeforces573D. Bear and Cavalry

传送门:http://codeforces.com/problemset/problem/573/d思路:首先如果没有限制,那么根据排序不等式,肯定按顺序匹配战士和马最好。但是现在有了战士不能和自己的马匹配的限制。于是就有了一个重要的性质:最优匹配的前提下,排序后第i号战士只会与[i-2,i+2]号马匹配至于证明,可以自己YY,也可以分情况讨论(好像很复杂...)于是就可以

2015-10-23 16:43:43 651

原创 codeforces572D. Minimization

传送门:http://codeforces.com/problemset/problem/572/D思路:首先可以根据下标对k的模将他们分成互不相关的k组,组内可以贪心地使元素按大小顺序排,然后这组的贡献即为max-min那我们就把a数组排序,那么每组元素一定是连续的。那么题目就变为把有序数组a分为k组,其中第一种有n%k组,长度为(n/k+1),第二种有n-n%k组,长度为n/k

2015-10-23 16:22:21 445

原创 codeforces571A. Lengthening Sticks

传送门:http://codeforces.com/problemset/problem/571/A思路:直接算方案数比较困难,可以先求出不成立的方案数,再拿总方案数去减.若增加的总长度为l,根据插板法,方案数就是C(l+2,2),;对于不成立的方案只要满足下面3个条件之一即可a+x+b+ya+x+c+zb+y+c+z而且这三个条件最多只会有一个成立所以可以把三

2015-10-23 16:04:30 402

原创 codeforces568E.Longest Increasing Subsequence

传送门:http://codeforces.com/problemset/problem/568/E思路:首先没有空位,我们是记录一个low数组表示长度为i的上升子序列的最小结尾。对于一个末尾新的数x,我们只要二分出一个位置low[i]现在有空位和m个数可用,每个数只能用一次。其实每个数只能用一次这个条件并没有什么用,因为这是严格的LIS,用两次也没有用所以可以先去重。然后

2015-10-23 15:10:55 981 1

原创 codeforces571C. CNF 2

传送门:http://codeforces.com/problemset/problem/571/C思路:先去掉只出现一次的变量,贪心地使出现的表达式为真再去掉出现两次的且要求取值相同的变量,贪心地使两个表达式为真 现在只剩下出现两次且要求取值不同的变量把变量当作边,连接有它的两个表达式 现在就是要给该图的边定向,使每个点都有入边(即每个表达式成立) 构造,找到一个环,

2015-10-22 11:21:36 394

原创 codeforces568C. New Language

传送门:http://codeforces.com/problemset/problem/568/C思路:贪心+2-sat判定先判定原串是否合法,合法就输出原串。否则贪心地从大到小枚举lcp,用2-sat判定求出最长的lcp后,对于后面每一位,分别贪心尝试最小的元辅音,先试字典序小的,用2-sat判定即可#include#include#include#includec

2015-10-21 21:47:12 608

原创 noip模拟赛题解&总结(2015.10.18-2015.10.19)

Day1:T1考场上觉得第二题比较水,于是就果断地跳进第二题的坑了,结果部分分都没来的及拿...f[i][l]:用了i-n的数,这段子序列开始位置为l的方案数考虑新加的一个数x,设原序列为S,那么只会有三种放法:xSx,xxS,Sxx 对于限制条件,为了方便先把大于转小于考虑三种转移对于xSx:f[i][l]+=f[i+1][l+1]不能有以下限制:h[l]

2015-10-21 21:35:37 574

原创 codeforces567E. President and Roads

传送门:http://codeforces.com/problemset/problem/567/E思路:正着做一遍最短路,反着做一遍最短路,然后就可以判断一条边是否在最短路径图上了设这条边为从a到b权值为c,那么如果dis[st][a]+c+dis[b][ed]=mindis,则在最短路径图上。如果一条边是最短路图的桥,那么这就是必经边,对于非必经边,就看减到多少才会使dis[s

2015-10-20 11:52:33 448

原创 bzoj2820: YY的GCD

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2820思路:#include#include#includeconst int N=10000010;using namespace std;typedef long long ll;int mu[N+10],g[N+10],pri[

2015-10-13 11:25:12 436

原创 bzoj2045: 双亲数&bzoj1101: [POI2007]Zap

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1101思路:设a求的就是f(a,b,d)=ΣΣ[gcd(i,j)==d](1又有公式Σmiu(d) =[n==1] (d|n) //miu是莫比乌斯函数把n用gcd(i,j)代入得ΣΣΣmiu(d)(d|gcd(i,j),1=Σmiu(d)*(a/d)*(b/d

2015-10-12 17:04:59 512

原创 spoj GCDEX - GCD Extreme

传送门:http://www.spoj.com/problems/GCDEX/思路:令g(n)=ΣΣgcd(i,j)(i很显然ans=g(n)-(n+1)*n/2那么g(n)=Σf(i)(if(n)在上一题已证为积性函数,线筛求出,就可以在O(n)时间打出表来。为了方便先设mindiv[i]为i的最小质因子,T[i]为i的最小质因子次数,d[i]=mindiv[i]^t[i]

2015-10-12 11:24:08 632

原创 bzoj2075[SDOI2012]Longge的问题

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2705思路:首先要求的是Σgcd(i,n)(1于是可以化成ΣΣd*[gcd(i,n/d)==1]    (d|n,1把d提出来Σd*Σ[gcd(i,n/d)==1]  (d|n,1右边的不就是phi(欧拉函数)吗于是有Σd*phi(n/d)  (d|n)因为

2015-10-12 09:17:20 554

原创 一道组合数取模题

题目大意:求长度为n且每项均在[1,n]的不上升数列与不下降数列的个数和。思路:总数就是不下降数列的个数*2-n(常数列的个数)然后考虑不下降数列的个数为了方便,把第0项设为0,把第n+1项设为n。差分,然后不下降数列就是差分数组a[i]每一项大于等于0,且Σa[i]=n。每项+1,就相当于在2n-1个空位(本来是2n+1,首尾不能放)放n个板子。于是答案就是C(2n-1,

2015-10-11 11:10:50 365

原创 bzoj1407: [Noi2002]Savage

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1407思路:因为M山洞数量满足要求,就是对于任何两个野人组成的同余方程最小解大于寿命短的野人的寿命,或者没有解。代码:#include#include#include#define abs(a) (a<0?-a:a)const int maxn=100000

2015-10-11 10:44:38 769

原创 bzoj1477: 青蛙的约会

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1477思路:扩展欧几里德求解同余方程。设x步后碰面,初始位置为x0,y0。那么就有x0+mx=y0+nx(mod L)(m-n)x=y0-x0(mod L) //程序里要先把m-n变成正数,L已经是正数,不用变,负数模会有问题,这两步的等号是同余。于是就可以把这个同

2015-10-11 10:32:56 729

空空如也

空空如也

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

TA关注的人

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