bzoj
文章平均质量分 55
Mininda
云雀叫了一整天
展开
-
【bzoj4551】树 并查集
4551: [Tjoi2016&Heoi2016]树TimeLimit: 20 Sec Memory Limit: 128 MBSubmit: 380 Solved: 234[Submit][Status][Discuss]Description在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作:1.标记原创 2017-11-03 21:25:27 · 422 阅读 · 0 评论 -
【bzoj1059】 [ZJOI2007]矩阵游戏 匈牙利算法
题解在同一行同一列的1无论怎么换来换去都会在同一行同一列, 如果想通过转换变到主对角线上必须满足有n个点不在同一行不在同一列,那么我们以i为一边以j为一边进行二分图匹配即可。代码#include<iostream>#include<cstdio>#include<cstring>#include<cctype>using...原创 2018-08-05 13:09:57 · 345 阅读 · 0 评论 -
【bzoj1192】[HNOI2006]鬼谷子的钱袋 数学
题解输出其二进制位数即可代码#include<cstdio>long long a;int main(){scanf("%lld",&a);int ans=0;for (;a;a>>=1) ans++;printf("%d\n",ans);}原创 2018-07-31 23:07:23 · 239 阅读 · 0 评论 -
【bzoj1432】 [ZJOI2009]Function 数学
看题一小时代码五分钟题解我觉得写得很好的:https://blog.csdn.net/cabi_zgx/article/details/79208107 我一开始还考虑了半天旋转90度的情况,最后发现无论哪种情况这都不是最优的。代码#include<iostream>#include<cstdio>int n,k;int main(){s...原创 2018-08-01 18:30:59 · 326 阅读 · 0 评论 -
【bzoj3670】【NOI2015】动物园 kmp
企鹅太可爱啦!题解我们先处理出num[i]表示既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,这种字符串的数量。每次num[i]=num[fail[i]]+1(因为本身也算一个后缀)。然后再将算出p < i/2并且s[p]=s[i]这种情况,+1乘在答案中即可。详见代码。代码#include<iostream>#include<cstd...原创 2018-08-01 20:01:48 · 737 阅读 · 0 评论 -
【bzoj1799】[Ahoi2009]self 同类分布 数位dp
(图片上传失败???不知道什么原因) 原题:https://www.lydsy.com/JudgeOnline/problem.php?id=1799题解因为是10^18所以各位数字加起来最大也不超过9*18所以我们就可以一次枚举啊 判断是否整除就在每次构造数字的时候mod一下各位数字加起来的数字,如果最后结果为0的话说明可以整除。代码#include&lt;iostrea...原创 2018-08-06 16:43:11 · 304 阅读 · 0 评论 -
【bzoj1207】[HNOI2004]打鼹鼠 dp
题解f[i]表示从1到第i只鼹鼠出现的时间里并且打死第i只鼹鼠所能打死的最大鼹鼠数目。 (其实就相当于最长不上升子序列一样,只不过转移有一丢丢不一样就是啦。)代码#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<...原创 2018-08-10 19:03:06 · 387 阅读 · 0 评论 -
【bzoj1800】 [Ahoi2009]fly 飞行棋 模拟
代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int dis[51],rec[51],n,ToT,ans;inline int read()...原创 2018-08-02 15:08:43 · 293 阅读 · 0 评论 -
【bzoj1088】[SCOI2005]扫雷Mine 模拟
题解只要知道了第一行第一列或者最后一行第一列就能推断出整个第一列。而第一列由题目可得只能为1或者0。所以就可以构造出序列。因为构造出的序列必须满足第一列为0或者1并且满足给定的第二列,在构造第一列排除不合法情况即可。代码#include<iostream>#include<cstdio>#include<cstring>#inclu...原创 2018-08-03 10:09:15 · 230 阅读 · 0 评论 -
【bzoj1034】 [ZJOI2008]泡泡堂BNB 贪心
题解贪心策略:先从小到大排序,如果我方最弱的比敌方最弱的强分数+2,如果我方最强的比敌方最强的要强分数+2。否则既然都打不过,我就让什么用都不起的我方最弱跟敌方最强比。碰巧一样厉害分数+1。代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring...原创 2018-08-03 11:21:48 · 244 阅读 · 0 评论 -
【bzoj3555】[Ctsc2014]企鹅QQ hash
题解其实代码是看hzwer博客的qwq 我们枚举去掉某一位的字符串的情况进行比较。pre[i][j]表示第i个字符串的前j个的hash值, suf[i][j]表示第i个字符串后j个的hash值。我们计算第i个字符串去掉第j位的hash值就是pre[i][j-1]+suf[i][j+1]。再排序统计一下即可得到答案。代码#include<iostream>#in...原创 2018-08-03 14:43:43 · 446 阅读 · 0 评论 -
【bzoj2208】[Jsoi2010]连通数 floyd传递闭包
题解一道bitset优化floyd传递闭包裸题!代码#include<iostream>#include<bitset>#include<cstdio>#include<cctype>#define N 2010using namespace std;bitset<N> lnk[N];int n,ans;...原创 2018-08-31 22:35:44 · 428 阅读 · 0 评论 -
【bzoj1022】[SHOI2008]小约翰的游戏John nim游戏
题解膜拜国家集训队论文代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int n,sg,flag;inline int read(...原创 2018-08-30 14:11:44 · 437 阅读 · 0 评论 -
【bzoj2465】[中山市选2009]小球 贪心
题解因为每个球所占的位置都是1,所以只要贪心就好了,分数最大的球能取就取。代码#include&lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cctype&gt;using原创 2018-08-30 14:15:13 · 391 阅读 · 0 评论 -
【bzoj2122】[HNOI2006]花仙子的魔法 枚举
题解大力出奇迹,交了一发暴力没想到强行卡过去了qwq代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>#define inf 0x3f3f3f3f#define ll ...原创 2018-08-30 14:19:53 · 396 阅读 · 0 评论 -
【bzoj4300】绝世好题 dp
题意给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。题解这个题目有点搞笑啊我们用f[i]记录当前第i位为1的最长长度为多少,每次更新一个新数判断它的第几位出现了1,然后再选最大的更新。代码#include<iostream>#include<cstdio>using namespa...原创 2018-10-05 17:38:47 · 405 阅读 · 0 评论 -
【bzoj1026】[SCOI2009]windy数 数位dp
题解一道数位dp入门题,预处理出f[i][j]表示第i位首位数字位j的方案数。代码#include&amp;lt;iostream&amp;gt;#include&amp;lt;algorithm&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#includ原创 2018-07-30 20:15:57 · 232 阅读 · 0 评论 -
【bzoj1270】雷涛的小猫 dp
看注释吧代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;//f1[]表示在当前高度下第i棵树的能吃到最大柿子,f2[]表示高度为i的情况下的能吃...原创 2018-08-04 08:13:51 · 321 阅读 · 0 评论 -
【bzoj1217】[HNOI2003]消防局的设立 贪心
[HNOI2003]消防局的设立 Description2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d。由于火星上非常干燥,经常引发火灾,人类决定在火星上修建若干个消防局。消防局原创 2017-10-30 15:51:05 · 375 阅读 · 0 评论 -
【bzoj1978】 [SDOI2009]HH的项链 树状数组
[SDOI2009]HH的项链Description HH 有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳, 思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答……因为项链实在是太长了。于是,他原创 2017-10-28 17:51:18 · 357 阅读 · 0 评论 -
【bzoj1015】[JSOI2008]星球大战 并查集
感悟:一开始没好好读题不知道没打之前的联通块数也得输出,调了两天才发现qwq 和bzoj4551一样,每次打掉一个星球就会产生若干个或不产生联通块,我们发现如果在线正着处理会很麻烦。所以我们离线处理倒着处理,我们先处理全被打完的时候,对于每次打掉的点我们再一个一个重新连上就好啦。cnt表示联通块数,used记录是否在联通块中,visit记录是不是打掉的星球。#include#原创 2017-11-05 16:32:27 · 316 阅读 · 0 评论 -
【bzoj3732】Network kruskal+lca
题意:给出n个点和m条边的无向图对于每次询问给出a b,求a与b之间的最长边的最小值异曲同工:NOIP2013货车运输最大生成树+lca#include#include#include#include#define lim 30500using namespace std; int n,m,k,tot=0;int nextt[lim],head[li原创 2017-12-31 11:48:15 · 262 阅读 · 0 评论 -
【bzoj1083】[SCOI2005]繁忙的都市 kruskal
早生个十年该多好啊原创 2017-11-09 17:29:17 · 251 阅读 · 0 评论 -
【bzoj1003】[ZJOI2006]物流运输 最短路+dp
传送门:嘿原题在这题意:给出一个图,求1~m的最短路,但其中有些点在某些时间段会不能用,题目保证有解。我们可以很(不)容易的看出递推关系式dp[i]=min(dp[i],dp[j]+cost[j+1][i]+k)(0//bzoj1003[ZJOI2006]物流运输//by dadatu#include#include#include#include#define inf 0原创 2018-01-09 15:09:12 · 423 阅读 · 0 评论 -
【bzoj1798】[Ahoi2009]Seq 维护序列seq 线段树
原题题解:线段树区间乘法,lazy标记的更新对于我这种萌新来说是个难点qwq。先理清楚想好了再写。先乘后除,一步一步慢慢来。//bzoj1798 [Ahoi2009]维护序列#include<iostream>#include<cstdio>#include<cstring>#define lson l,m,pos<<1#define rs...原创 2018-02-18 15:27:27 · 270 阅读 · 0 评论 -
【bzoj1012&&luogu1198】 [JSOI2008]最大数 线段树
原题线段树代码强烈建议在洛谷提交!某luogu管理员@yjjr 丧心病狂加强数据竟使线段树代码大面积迷之re=。=//bzoj1012 最大数#include<iostream>#include<cstring>#include<cstdio>#define lson l,m,pos<<1#define rson m+1,r,pos<...原创 2018-02-22 10:04:16 · 275 阅读 · 0 评论 -
【bzoj1218】[HNOI2003]激光炸弹 枚举
传送门预处理二维前缀和,枚举判断最大#include<iostream>#include<cstdio>#include<cstring>#include<cctype>#define inf 0x3f3f3f3f#define N 5010using namespace std;int s[N+10][N+10],l,r,n...原创 2018-07-16 23:50:10 · 350 阅读 · 0 评论 -
【bzoj1725】 [Usaco2006 Nov]Corn Fields牧场的安排 状压dp
状压基础题。#include<iostream>#include<cstdio>#include<cstring>#define p 100000000#define ll long longusing namespace std;int dp[13][1<<12],mp[13],a[1<<12],ToT,n,m;...原创 2018-07-23 11:32:44 · 253 阅读 · 0 评论 -
【bzoj1968】 [Ahoi2005]COMMON 约数研究
1968: [Ahoi2005]COMMON 约数研究Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2877 Solved: 2146[Submit][Status][Discuss]DescriptionInput只有一行一个整数 N(0 < N < 1000000)。Output只有一行输出,为...原创 2017-11-06 22:15:42 · 311 阅读 · 0 评论 -
【bzoj4627】[BeiJing2016]回转寿司 树状数组
原题数组s[]求的是前缀和,所以题意就是L<=s[j]-s[i-1]<=R -> L+s[i-1]<=s[j]<=R+s[i-1]只要枚举i-1,再用树状数组维护一下删掉的数在取答案的时候舍掉即可。#include<iostream>#include<algorithm>#include<cstdio>#include<...原创 2018-07-15 22:03:36 · 292 阅读 · 0 评论 -
【bzoj1001】[BeiJing2006]狼抓兔子 最小割
最小割板子,注意的是边要开点的6倍,因为一个点三条路再乘2就是6.#include<iostream>#include<queue>#include<cstdio>#include<cstring>#include<cctype>#define inf 0x3f3f3f3f#define ll long long ...原创 2018-07-20 23:26:38 · 226 阅读 · 0 评论 -
【bzoj1087】互不侵犯king 状压dp
状压dp入门题!太经典了就不多bb了。#include<iostream>#include<cstdio>#include<cstring>#define N 601#define ll long longusing namespace std;ll dp[85][N][85],ans;int f[N][N],a[N],b[N],n,m,...原创 2018-07-20 23:29:13 · 338 阅读 · 0 评论 -
【bzoj1303】 [CQOI2009]中位数图 数学
题解首先将大于b的赋值为1,小于b的赋值为-1,pos记录b出现的位置,l[i]记录b左边的和为i的数的个数,r[i]记录b右边的和为i的个数。最后统计一下即可。代码#include&amp;lt;iostream&amp;gt;#include&amp;lt;algorithm&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&原创 2018-08-03 18:07:20 · 294 阅读 · 0 评论 -
【bzoj1053】[HAOI2007]反素数ant 搜索
Description 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求出不超过N的最大的反质数么?Input 一个数N(1<=N<=2,000,000,000)。Output 不超过N的最大...原创 2018-11-04 16:45:07 · 284 阅读 · 0 评论