自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mininda

现阶段的诸多不顺大多只是出于自己的无知,而每个人在时间流逝面前是一样的,成功与否的差别在于对待时间的态度和精神。

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

原创 【poj3662】Telephone Lines 二分答案+spfa

题意给定一个无向图,求点1~n的一个路径,使路径上第k+1条路的边权尽量小。题解因为花费多的答案一定包括花费少的答案,具有单调性。所以我们可以用二分答案来求解。每次将小于等于mid的边设为0,大于mid的边设为1。spfa跑一下,如果dist[n]不大于k就满足。代码#include<iostream>#include<queue>#include<cs...

2018-11-07 10:32:34 197

原创 【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 161

原创 【hdu1423】Greatest Common Increasing Subsequence dp

题意给定两个序列,求其lcis题解我们用f[i][j]表示在a[1~i]中和b[1~j]中以b[j]结尾的lcis每次转移1 如果a[i]!=b[j] 那么就是这个更新的a[i]没啥子鸟用,f[i][j]=f[i-1][j]。2 如果a[i]==b[j],那么我就要从j之前的序列b中选一个比b[j]小的k,每次比较一下f[i][j]与f[i-1][k]+1进行替换但这样做的话我们发...

2018-10-24 07:48:27 152

原创 【poj2279】Mr. Young's Picture Permutations dp

DescriptionMr. Young wishes to take a picture of his class. The students will stand in rows with each row no longer than the row behind it and the left ends of the rows aligned. For instance, 12 stud...

2018-10-24 07:32:45 197

原创 【NOI2016】区间 线段树

题意求有公共点的m个区间的最长区间的长度与最短区间长度的最小值。题解先将区间以长度为关键字从小到大进行排序,易得最小值应该是排序后尽可能相近的两个区间。用头尾两个指针控制,每次更新利用线段树进行区间覆盖来判断是否符合有公共点的条件。代码//bzoj4653[Noi2016]区间#include<iostream>#include<algorithm>#inc...

2018-10-05 17:45:16 175

原创 【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 196

原创 【cf914D】Bash and a Tough Math Puzzle 线段树

题目大意给出一个序列a,要求支持单点修改,以及询问如果允许修改区间内的一个元素,区间gcd是否为x(可以理解为允许你暂时去掉区间一个元素,使区间gcd为x)1 ≤ n ≤ 5*10^5 1 ≤ q ≤ 4·10^5题解一开始看题很萌比 后来看了题解发现自己是傻比系列我们开一个线段树 每个节点记录当前区间的gcd,每次询问只要查一下当前区间的gcd是否为x如果不是就继续往下找,记录一下需...

2018-10-03 18:47:18 198

原创 【hdu6315】Naive Operations 线段树

题目大意给定一个序列b,以及一个初值为0的序列a。要求支持a的区间+1以及区间询问a[i]/b[i]的和。题解我们考虑对开一个线段树,每个节点记录当前a区间最大的值maxa以及最小的值minb,区间当前情况下的a[i]/b[i]的和cnt,以及lazy标记修改a序列。每次修改的时候修改maxa。如果当前叶子结点a[i]>=b[i]那么就将b[i]+=b[i],cnt+1。一直等到a...

2018-10-03 18:29:14 153

原创 【poj2155】Matrix 树状数组

题目大意给定一个N*N的矩阵a,a矩阵的初值设为0。T次操作,涉及区间翻转0和1以及单点查询。2 <= N <= 1000, 1 <= T <= 50000题解我的做法好像跟其他人不太一样qwq用二维树状数组维护差分,每次(x1,y1)+1,(x2+1,y1)-1,(x1,y2+1),因为右下部分多减了了一次,所以(x2+1,y2+1)+1,然后询问的时候只要加起...

2018-10-03 18:13:09 146

原创 【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 187

原创 【bzoj2122】[HNOI2006]花仙子的魔法 枚举

题解大力出奇迹,交了一发暴力没想到强行卡过去了qwq代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>#define inf 0x3f3f3f3f#define ll ...

2018-08-30 14:19:53 218

原创 【bzoj2465】[中山市选2009]小球 贪心

题解因为每个球所占的位置都是1,所以只要贪心就好了,分数最大的球能取就取。代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using

2018-08-30 14:15:13 205

原创 【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 179

原创 【bzoj1207】[HNOI2004]打鼹鼠 dp

题解f[i]表示从1到第i只鼹鼠出现的时间里并且打死第i只鼹鼠所能打死的最大鼹鼠数目。 (其实就相当于最长不上升子序列一样,只不过转移有一丢丢不一样就是啦。)代码#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<...

2018-08-10 19:03:06 197

原创 【zroj249】占领地区 模拟

题解我们可以根据题意得到,一个炮会打x形的地方,所以我们分开处理将正负对角线,减去重合的格子即可。再用前缀和优化一下复杂度就降到了O(n+m)代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctyp...

2018-08-08 08:02:29 214

原创 【bzoj1799】[Ahoi2009]self 同类分布 数位dp

(图片上传失败???不知道什么原因) 原题:https://www.lydsy.com/JudgeOnline/problem.php?id=1799题解因为是10^18所以各位数字加起来最大也不超过9*18所以我们就可以一次枚举啊 判断是否整除就在每次构造数字的时候mod一下各位数字加起来的数字,如果最后结果为0的话说明可以整除。代码#include<iostrea...

2018-08-06 16:43:11 165

原创 【bzoj1059】 [ZJOI2007]矩阵游戏 匈牙利算法

题解在同一行同一列的1无论怎么换来换去都会在同一行同一列, 如果想通过转换变到主对角线上必须满足有n个点不在同一行不在同一列,那么我们以i为一边以j为一边进行二分图匹配即可。代码#include<iostream>#include<cstdio>#include<cstring>#include<cctype>using...

2018-08-05 13:09:57 208

原创 【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 183

原创 【bzoj1303】 [CQOI2009]中位数图 数学

题解首先将大于b的赋值为1,小于b的赋值为-1,pos记录b出现的位置,l[i]记录b左边的和为i的数的个数,r[i]记录b右边的和为i的个数。最后统计一下即可。代码#include<iostream>#include<algorithm>#include<cstdio>#include&

2018-08-03 18:07:20 175

原创 【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 275

原创 【bzoj1034】 [ZJOI2008]泡泡堂BNB 贪心

题解贪心策略:先从小到大排序,如果我方最弱的比敌方最弱的强分数+2,如果我方最强的比敌方最强的要强分数+2。否则既然都打不过,我就让什么用都不起的我方最弱跟敌方最强比。碰巧一样厉害分数+1。代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring...

2018-08-03 11:21:48 119

原创 【bzoj1088】[SCOI2005]扫雷Mine 模拟

题解只要知道了第一行第一列或者最后一行第一列就能推断出整个第一列。而第一列由题目可得只能为1或者0。所以就可以构造出序列。因为构造出的序列必须满足第一列为0或者1并且满足给定的第二列,在构造第一列排除不合法情况即可。代码#include<iostream>#include<cstdio>#include<cstring>#inclu...

2018-08-03 10:09:15 107

原创 【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 152

原创 【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 567

原创 【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 178

原创 【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 109

原创 【NOIP2016】蚯蚓 单调队列

一道水题调了一个小时。学个啥oi还是回家种田吧qwq题解开三个队列,将原序列由大到小排列好之后放进第一个队列,然后每次取出三个队列中队头进行比较再切掉分别放到第二个第三个队列尾部。代码#include<iostream>#include<algorithm>#include<queue>#include<cstdio&am

2018-07-31 22:32:41 164

原创 【bzoj1026】[SCOI2009]windy数 数位dp

题解一道数位dp入门题,预处理出f[i][j]表示第i位首位数字位j的方案数。代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#includ

2018-07-30 20:15:57 112

原创 【poj2689】Prime Distance 素数

题意:给出了T组询问,每次询问给出L,R,求出每次[L,R]间相差最大以及最小的相邻素数。题解:由于L,R都很大所以没法直接用欧拉筛筛到。但是我们注意到L,R的差为1e6,可以用数组存下。并且我们可以知道任意一个合数n都拥有一个不大于sqrt(n)的素因数,所以我们可以预处理出1~2^16的所有质数,每次用这些质数筛出来l,r区间的质数,并且存在数组[0,u-l]中即可。#inclu...

2018-07-30 19:01:28 126

原创 【luogu1093】奖学金 模拟

#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;struct node{int id,x,ToT;}a[1010];int n,m;inline int read() { int ret=0;...

2018-07-29 22:14:34 147

原创 【luogu1051】谁拿了最多奖学金 模拟

#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;struct node{string s;int mark,cls,p,v,id;char west,cadre;}a[1001];int n,m,ToT...

2018-07-29 22:05:27 122

原创 【luogu1583】魔法照片 模拟

#include<iostream>#include<algorithm>#include<cctype>#include<cstdio>#include<cstring>using namespace std;struct node{int w,id;}a[2000010];int e[2000010],n,m;i...

2018-07-29 22:00:38 100

原创 【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 135

原创 【luogu3353】在你窗外闪耀的星星 前缀和

坑点就是一个点上会有很多星星qwq#include<iostream>#include<cstdio>#include<cctype>using namespace std;int s[1010000],n,m,ToT,ans;inline int read() { int ret=0;int ch=getchar(); fo...

2018-07-23 11:30:51 107

原创 【poj1185】【NOI2001】炮兵阵地 状压dp

又是一道状压dp经典题!#include<iostream>#include<cctype>#include<cstdio>#include<cstring>#define M 1<<10#define N 105using namespace std;int dp[N][N][N],mp[N],a[N],b[...

2018-07-22 00:02:29 134

原创 【poj2411】Mondriaan's Dream 状压dp

又是一道状压dp入门经典题!dp[i][j]表示第i行的状态为j时的状态数。1表示放个竖着的。首先预处理判断与0的个数,因为只有偶数的时候才能放横着的,转移的时候只要与之前状态逻辑与一下为0并且逻辑或一下的状态有偶数个0(逻辑与一下是因为之前状态竖着的)就是符合条件的,目标是dp[n][0]。记得开long long#include<iostream>#include&...

2018-07-21 23:42:19 94

原创 【poj1845】Sumdiv 递归+数学

这题很有意思。首先根据唯一分解定理我们可以得知a=p1^k1*p2^k2*k3......pn^kn,然后将所有的因数加起来再用一下乘法结合律就成了(p1^0+p1^1+p1^2......+p1^k1)......(pn^0+.......+pn^kn)这样一个式子,但是就成了求每一个的等比公式求和。但是不能直接使用公式,因为%并不适用于除法,所以:p^0+p^1+p^2......+p^k...

2018-07-21 23:22:30 116

原创 【poj3263】Tallest Cow 前缀和

前缀和水题。因为求最优所以默认最大,每次给出了一对关系,我们都可以知道中间的数要小。前缀和处理一下即可。#include<iostream>#include<map>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;ma...

2018-07-21 23:10:49 164

原创 【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 150

原创 【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 121

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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