自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beginend

只要在路上,就没有到不了的远方

  • 博客(20)
  • 收藏
  • 关注

原创 bzoj 3175: [Tjoi2013]攻击装置 最大独立集 网络流

题目传送门分析先把整个矩形进行黑白染色,然后就会发现黑的格子只能攻击到白的,白的只能攻击到黑的,那么我们就把格子按照颜色分为二分图,然后连边,那么问题就变成了求最大独立集。 根据最大独立集=点数-最大匹配 直接上dinic用十分钟就打完了并且1A,真高兴啊。走起,回去睡觉!代码#include<iostream> #include<cstdio> #include<cstdlib> #inclu

2016-10-31 22:07:31 282

原创 bzoj 1531: [POI2005]Bank notes 单调队列优化多重背包

题目DescriptionByteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,…, bn. 但是每种硬币有数量限制,现在我们想要凑出面值k求最少要用多少个硬币.Input第一行一个数 n, 1 <= n <= 200. 接下来一行 n 个整数b1, b2,…, bn, 1 <= b1 < b2 < … < b n <= 20

2016-10-31 21:03:30 928

原创 bzoj 1458: 士兵占领 网络流

题目Description有一个M * N的棋盘,有的格子是障碍。现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵。我们称这些士兵占领了整个棋盘当满足第i行至少放置了Li个士兵, 第j列至少放置了Cj个士兵。现在你的任务是要求使用最少个数的士兵来占领整个棋盘。Input第一行两个数M, N, K分别表示棋盘的行数,列数以及障碍的个数。 第二行有M个数表示Li。

2016-10-30 12:28:17 395

原创 BNUOJ 52322 Fibonacci of Fibonacci 矩阵乘法+高精度+预处理

题意f(n)表示斐波那契数列的第n项,f(0)=0,f(1)=1,现在给出一个n,求f(f(n)) mod 20160519 n<=10^100(原题是10^9,但我的程序可以跑过10^100)分析一开始想的是费马小定理,后来发现是不行的,于是就去问了一发,发现了一个很脑洞的想法:找寻环节。也就是找到在mod MOD的情况下最小的k使得f(k) mod MOD=0,f(k+1) mod MOD=1

2016-10-26 21:15:38 360

原创 bzoj Triangle War 状态压缩+极大极小搜索+Alpha-Beta剪枝

题意有一个三角网格,两个人轮流操作,每次可以把一条虚线变成实线。若某个人把某条虚线变成实线后刚好围住了一个三角形,则这个人的得分加一。现在给出一开始的若干个操作,求谁会赢。分析首先压缩一波状态,然后就是裸的极大极小搜索+AB剪枝。 一开始错的是因为一开始以为连了一条线后最多围成一个三角形,其实可以围成很多个。#include<iostream> #include<cstdio> #include<

2016-10-26 20:28:45 484

原创 bzoj 4325: NOIP2015 斗地主 dfs

题目传送门分析毫无花哨的dfs,分n多种情况考虑,貌似加了最优化剪枝。 这是在比赛场上码的程序,很开心啊当场就AC了,用的是pascal,不怎么优美不过也就这个样了。 据说正解是dp还有dancing link之类的神奇的东东,表示不太懂。 貌似在ccf上测出来只有95分,不过也够我吹一年了。不懂得就自己看程序吧。var t,n,ans,i,l,x,y:longint; a:array

2016-10-24 19:36:50 425

原创 bzoj 3295: [Cqoi2011]动态逆序对 cdq分治+树状数组

题目大意给出1-n的一个排列和m个操作,每个操作有一个数字x表示在序列中把x这个数删掉,并且求在删掉x前该序列中有多少个逆序对。 n<=100000,m<=50000分析这题看完题后就想到了可以用树套树来搞,但是比较麻烦(其实也不是很麻烦)并且对于n<=100000,m<=50000的数据范围如果用nlog^2的复杂度去做的话会跑的很慢,于是就选择了新学的cdq分治。先一开始往序列里面插入没被删除

2016-10-24 19:30:18 408

原创 bzoj 3262: 陌上花开 cdq分治

题目Description有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。 Input第一行为N,K (1 <= N <= 100,000, 1 <= K <=

2016-10-23 21:45:09 464

原创 bzoj 1901: Zju2112 Dynamic Rankings 树状数组套线段树 cdq分治

题目传送门树套树一棵树状数组,每个节点上都是一棵权值线段树(不是可持久化线段树),线段树动态开节点。 然后每次查询的时候二分答案就好了。 时间复杂度O(nlog^3) 勉强水过……#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace

2016-10-23 20:16:33 497

原创 bzoj 2141: 排队 树状数组套线段树

题目传送门分析树状数组套线段树。 对于每一次交换x和y的操作,先减去在交换之前x和y分别与a[x+1..y-1]产生了多少逆序对,再加上交换后x和y分别与a[x+1..y-1]产生了多少逆序对,然后再进行交换操作就好了。一开始的想法是线段树套线段树,但是很明显线段树各方面的指标都没有树状数组优秀,所以就果断改成了树状数组。貌似分块+二分或分块套树状数组或线段树套平衡树也是可做的,懒得打了。代码#i

2016-10-22 11:56:35 410

原创 bzoj 3357: [Usaco2004]等差数列 动态规划

题意给出n(1M-n<=2000)个数ai(0<=ai<=10^9),求最长的等差数列长度。分析我用的是nlogn的方法写的,勉强水了过去,顺便学习了已发map的用法。 f[i,j]表示结尾为ai倒数第二个数为j时的最大长度。 f[i,a[j]]=max(f[j,a[j]*2-a[i]],f[i,a[j]],2)正解其实就是f[i,j]表示最后一个数是aj倒数第二个数是ai时的最大长度,每处理完

2016-10-21 20:41:20 642

原创 bzoj 1834: [ZJOI2010]network 网络扩容 网络流+费用流

题目传送门分析第一问随便搞搞就好了。第二问要在跑完最大流之后的残余网络上建图。其实一开始也想到了跟正解很类似的方法,只是空间比正解大一点而已(貌似常数也比正解大一丢丢)但是费用流打错了,然后就以为这个方法是错的,然后就去看了题解……正解其实就是在残余网络上继续加边,从s到1连一条流量为k费用为0的边,从n到t连一条流量为k费用为0的边,然后在每条边之间连一条流量为k费用为w的边,再跑一边费用流就好了

2016-10-21 18:03:30 322

原创 bzoj 2208: [Jsoi2010]连通数 拓扑排序+强连通分量+bitset

题意给出一个有向图,求有多少个点对(i,j)满足i可以到达j(i可以等于j)分析这题据说暴力也能卡过去,毕竟20s的时限我才跑了1s+,但打暴力的话就没意思了,所以就果断码了一波正解。 这题一开始也有一点大概的思路也就是用bitset之类的状态压缩来搞一搞,但是没想到用tarjan来缩点。 那么正解其实就是先用tarjan来缩一下点,那么每个强连通分量对ans的贡献就是size*size,然后拓

2016-10-19 21:16:30 670

原创 bzoj 3758: 数数 分块打表

Description神犇最近闲来无事,于是就思考哲学,研究数字之美。在神犇看来,如果一个数的各位能够被分成两个集合,而且这两个集合里的数的和相等,那么这个数就是优美的(具体原因就只有神犇才知道了)。现在神犇在思考另一个问题,在区间[a,b]中有多少个数是优美的?这个问题对于神犇来说很简单,相信对于你来说也不难。 Input输入只有一行,包含两个整数a和b。 Output输出只有一行,包含一个

2016-10-17 20:56:29 1136

原创 bzoj 3563: DZY Loves Chinese 并查集+乱搞

题目:传送门分析:好好的,仔细的多看几遍题目,你就会惊奇地发现:沃日怎么连k都要异或。 那岂不是说可以直接得到上一行的答案!? 是的没错…… 那么我们只要把最后一行搞一搞就好了。 注意每一行的结尾会有各种各样乱七八糟的符号。代码:#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<a

2016-10-17 20:11:23 528

原创 bzoj 1260: [CQOI2007]涂色paint 区间动态规划

Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。 每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标。 用尽量少的涂色次数达到目标。 Input 输入仅一行,包

2016-10-17 19:20:14 430

原创 UOJ #244. 【UER #7】短路 贪心+递推

题目:传送门分析:在考场上用了将近1h想出了正解,但打的时候打错了,而且也没有去对拍和调试,所以就GG了。 这题正解是贪心。很明显最优解一定是先走到某个矩形的左上角然后走L字形走到右下角然后按照原来的路径走到终点,那么我们可以求出到每个矩形的左上角的最小代价,然后取最优的就好了。 f[i]表示走到从外到里第i个矩形的左上角的最小代价。 f[i]=f[i-1]+mn+a[i];(mn为a[1..

2016-10-17 17:01:17 457

原创 bzoj 1951: [Sdoi2010]古代猪文 费马小定理+中国剩余定理+lucas定理+快速幂

Description“在那山的那边海的那边有一群小肥猪。他们活泼又聪明,他们调皮又灵敏。他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国。猪王国地理位置偏僻,实施的是适应当时社会的自给自足的庄园经济,很少与外界联系,商贸活动就更少了。因此也很少有其他动物知道这样一个王国。 猪王国虽然不大,但是土地

2016-10-14 19:28:02 447

原创 bzoj 3110: [Zjoi2013]K大数查询 线段树套线段树

Description有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。Input第一行N,M 接下来M行,每行形如1 a b c或2 a b cOutput输出每个询问的结果Sample Input2 51 1 2 11 1 2 22 1 1 22

2016-10-13 20:38:47 417

原创 bzoj 2721: [Violet 5]樱花 线性筛

题意:求一元不定方程1/x+1/y=1/n!分析:一开始看着题的时候一点思路都没有,看了题解才发觉这题的脑洞蛮大的。 我们设z=n! 1/x+1/y=1/z x=yz/(y-z) 设t=y-z 则x=z+(z^2)/t 那么题目就变成了求z^2的约数个数 那么只要线性筛搞一搞就可以了。顺便吐槽一下这题居然连样例都没有…… 在这里就附带一个样例好了 n=10 ans=2295代码:

2016-10-11 21:16:46 381

空空如也

空空如也

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

TA关注的人

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