
bzoj
fnliren
一位无名没脑老年退役oier
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[bzoj 1085--SCOI2005]骑士精神
A*算法原创 2016-08-25 16:13:48 · 712 阅读 · 4 评论 -
[bzoj 1015--JSOI2008]星球大战starwar
Description 给出N (1<=N<=2M) 个点,M(1<=M<=200000)条边,给出一个K,下面给出要删除的K个点。结果输出K+1行,第一行输出还没有删边时有多少个联通块。每行输出对应删除操作后图中联通块的个数。 Sample Input 8 13 0 1 1 6 6 5 5 0 0 6 1 2 2 3 3 4原创 2016-09-26 13:29:46 · 465 阅读 · 0 评论 -
[bzoj 1034--ZJOI2008]泡泡堂
Description 有两个长度为n的数列(a,b)。将a数列打乱顺序变成c数列,与b数列比较。如果c[i]大于b[i],分数加2;如果相等,分数加1;如果小于,不变。求所得的分数的最小值与最大值。 Input 输入的第一行为一个整数n,表示数列的长度。接下来n行,每行一个整数,描述了a[i]。接下来n行,每行一个整数,描述了b[i]。 Output原创 2016-09-29 13:45:16 · 758 阅读 · 0 评论 -
[bzoj 1218--HNOI2003]激光炸弹
Description 在长为5001的正方形矩阵中,有n个特殊的点,有相应的值。现在用一个与x,y轴平行的长为R的正方形矩阵套点(不含边缘),使里面的特殊点的总值最大。 Input 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示位置与值。 Output 输出文件仅有一个正整数,表示最大值(结果不会超过32767)。 Sampl原创 2016-10-09 14:03:57 · 573 阅读 · 0 评论 -
[bzoj 1028--JSOI2007]麻将
Description 有n种牌,m*3+1张牌。从1到n中选一张牌,使得这m*3+2张牌中,有一个对子(两张相同的牌),剩下的牌要么是刻子(三张相同的牌),要么是顺子(三张连续的牌)。 Input 包含两行。第一行包含两个由空格隔开整数n, m (9<=n<=400, 4<=m<=1000)。第二行包含3m + 1个由空格隔开整数,每个数均在范围1到n之内。 Ou原创 2016-10-11 14:08:43 · 677 阅读 · 1 评论 -
[bzoj 1012--JSOI2008]最大数
Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取 模,将所得答案插入到数列的末尾。限制:n是非负整数原创 2016-11-07 13:49:18 · 591 阅读 · 0 评论 -
[bzoj 1086--SCOI2005]王室联邦
Description 有n个点,n-1条边,任意两个不同的点之间有且仅有一条直接或间接边。把n个点分为若干个部分,每个部分最少要b个点,其中有一个点(BOSS)可在此部分内或外。使得此部分内的点到BOSS点的路径上经过的点全在此部分内。原创 2016-08-26 11:44:12 · 651 阅读 · 1 评论 -
[bzoj 1081--SCOI2005]超级格雷码
规律 dfs原创 2016-09-07 13:20:26 · 509 阅读 · 0 评论 -
[bzoj 2763--JLOI2011]飞行路线
Description n个点,m条双向边,有k次免费的机会,问最短路。 Sample Input 5 6 1 0 4 0 1 5 1 2 5 2 3 5 3 4 5 2 3 3 0 2 100 Sample Output 8这道题基本算法是spfa,但需要定一个f的二维数组,f[i][j] 表示到编号为i的点用j次免费原创 2016-09-09 13:59:55 · 645 阅读 · 1 评论 -
[bzoj 1084--SCOI2005]最大子矩阵
Description 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵 不能相互重叠。 Input 第一行为n,m,k(1≤n≤100,1≤m≤2,1≤k≤10),接下来n行描述矩阵每行中的每个元素的分值(每个元素的 分值的绝对值不超过32767)。 Output 只有一行为k个子矩阵分值之和最大为多原创 2016-09-11 16:35:16 · 750 阅读 · 0 评论 -
[bzoj 1008--HNOI2008]越狱
Description 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 Sampl原创 2016-09-18 13:40:10 · 883 阅读 · 0 评论 -
[bzoj 1029--JSOI2007]建筑抢修
有n个点,每个点有两个值(x,y),意为这个点在总共y的时间内用x时间才算成功。问成功的点的数量的最大值。这道题思路为贪心,我们用一个multiset来记录,这个东东的好处是有很多操作,自动排序,并且还超快。注释看代码。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<set>us原创 2016-09-21 13:57:32 · 905 阅读 · 0 评论 -
[bzoj 3231--SDOI2008]递归数列
一个由自然数组成的数列按下式定义: 对于i <= k:a[i]= b[i] 对于i > k: a[i] = c[1]*a[i-1] + c[2]*a[i-2] + …+ c[k]*a[i-k] 其中b[j]和 c[j] (1<=j<=k)是给定的自然数。写一个程序,给定自然数m <= n, 计算a[m] + a[m+1] + a[m+2] + … + a[n], 并输出它除以给定自原创 2017-09-17 15:35:10 · 374 阅读 · 0 评论 -
[bzoj 1019--SHOI2008]汉诺塔
Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成。一开始n个盘子都摞在柱子A上,大的在下面,小的在上面,形成了一个塔状的锥形体。 对汉诺塔的一次合法的操作是指:从一根柱子的最上层拿一个盘子放到另一根柱子的最上层,同时要保证被移动的盘子一定放在比它更大的盘子上面(如果移动到空柱子上就不需要满足这个要求)。我们可以用两个字母来描述一次操原创 2016-09-22 13:59:00 · 806 阅读 · 0 评论 -
[bzoj 1042--HAOI2008]硬币购物
Description 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买si的价值的东西。请问每次有多少种付款方法。 Input 第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s,其中di,s<=100000,tot<=1000 Output 每次的方法数 S原创 2016-09-23 13:31:54 · 471 阅读 · 0 评论 -
[bzoj 3240--Noi2013]矩阵游戏
有一个巨大的n行m列的矩阵。这个矩阵满足一个神奇的性质:若用F[i][j]来表示矩阵中第i行第j列的元素,则F[i][j]满足下面的递推式: F[1][1]=1 F[i,j]=a*F[i][j-1]+b (j!=1) F[i,1]=c*F[i-1][m]+d (i!=1) 递推式中a,b,c,d都是给定的常数。 现在问你F[n][m]的值是多少。由于最终结果可能很大,原创 2017-09-29 19:45:09 · 342 阅读 · 0 评论 -
[bzoj 1076--SCOI2008]奖励关
你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都抛出宝物1(这种情况是有可能出现的,尽管概率非常小),第k次抛出各个宝物的概率依然均为1/n。 获取原创 2017-11-18 21:24:32 · 631 阅读 · 0 评论 -
[bzoj 1079--SCOI2008]着色方案
有n个木块排成一行,从左到右依次编号为1~n。你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块。 所有油漆刚好足够涂满所有木块,即c1+c2+…+ck=n。相邻两个木块涂相同色显得很难看,所以你希望统计任意两个相邻木块颜色不同的着色方案。真是一道大神题啊。一开始看到时乱想一大推,但其实原来这题如此巧妙。 其实像这样统计方案的问题,一般就是用dp来做的,只不过这题dp用记忆化搜索罢了原创 2017-11-19 16:44:13 · 664 阅读 · 0 评论 -
[bzoj 2818]Gcd
给定整数N,求1bzoj 1101的改动版,只是多了一个#include#include#include#include#includeusing namespace std;bool v[10000005];int pr=0,prime[10000005];long long Mu[10000005],sM[10000005];void getMu(){ m原创 2017-12-02 11:44:23 · 318 阅读 · 0 评论 -
[bzoj 2190--SDOI2008]仪仗队
作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N *N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐。 现在,C君希望你告诉他队伍整齐时能看到的学生人数。这道题看起来没什么头绪,但实际上可以转化为较裸的莫比乌斯题目。其实有一个很重要的性质–假设一个点的坐标为(x,y),如果gcd(x,y)=1那么就说明c同学必定原创 2017-11-29 13:13:27 · 484 阅读 · 0 评论 -
[bzoj 2301--HAOI2011]Problem b
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。bzoj 1101的升级版,有了下限。建议大家先理解好bzoj 1101。 改动的并不是很多,就是多了一个容斥原理。#include#include#include#include#includeusing namespac原创 2017-12-05 14:57:45 · 454 阅读 · 0 评论 -
[bzoj 1101--Poi2007]Zap
FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。莫比乌斯反演的处女题。其实还是较水的,首先先把a%d,b%d,这样问题便简化成求gcd(x,y)=1的对数了。f(i)表示的是gcd(x,y)=i的对数,F(i)表示的是gcd(x,y)%i=0的对数,那问题又原创 2017-11-26 16:06:55 · 616 阅读 · 0 评论 -
[bzoj 2820]YY的GCD
神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1 kAc这种傻×必然不会了,于是向你来请教……多组输入bzoj 2818的升级版,最重要是要推公式。#include#include#include#include#includeusing namespace std;long long pr,prime[11000000],Mu[11000000],sM[1100原创 2017-12-07 13:51:40 · 203 阅读 · 0 评论 -
[bzoj 1911--Apio2010]特别行动队
这道题,一看就知道是dp了,但范围之大提醒着我们这道题并不简单。对,这题要用斜率优化,还比较容易的那种。 先设i>j>k, f[j]+a*(sum[j]-sum[i])^2+b*(sum[j]-sum[i])+c>=f[k]+a*(sum[k]-sum[i])^2+b*(sum[k]-sum[i])+c 化简得 [(f[j]+a*sum[j]^2-b*sum[j])-(f[k]+a*sum[原创 2017-12-31 10:27:29 · 1089 阅读 · 1 评论 -
[bzoj 3437]小P的牧场
小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一直到它西边第一个控制站的所有牧场(它西边第一个控制站所在的牧场不被控制)(如果它西边不存在控制站,那么它控制西边所有的牧场),每个牧场被控制都需要一定的花费(毕竟在控制站到牧场间修建道路是需要资源原创 2018-01-02 14:06:37 · 640 阅读 · 0 评论 -
[bzoj 3156]防御准备
这道题一看就是dp,不过数据范围让我们不能O(n^2),所以就要优化。dp方程为f[i]=min(f[j]+(i-j)*(i-j-1)/2+a[i]),这种形式便想到了斜率优化。 设i>j>k,j比k优 f[j]+(i-j)* (i-j-1)/2+a[i]< f[k]+(i-k)* (i-k-1)/2+a[i] 化得 [(f[j]+j* (j+1)/2)-(f[k]+k* (k+1)/2)]原创 2018-01-21 08:44:32 · 300 阅读 · 0 评论 -
[bzoj 3675--Apio2014]序列分割
小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序列——也就是一开始得到的整个序列); 2.选择一个位置,并通过这个位置将这个序列分割成连续的两个非空的新序列。 每次进行上述步骤之后,小H将会得到一原创 2018-01-21 11:32:43 · 252 阅读 · 0 评论 -
[bzoj 1835--ZJOI2010]基站选址
有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di。需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci。如果在距离第i个村庄不超过Si的范围内建立了一个通讯基站,那么就成它被覆盖了。如果第i个村庄没有被覆盖,则需要向他们补偿,费用为Wi。现在的问题是,选择基站的位置,使得总费用最小。 输入数据 (base.in) 输入文件的第一行包含两个整数N,原创 2018-01-24 14:16:45 · 304 阅读 · 0 评论 -
[bzoj 1355--Baltic2009]Radio Transmission
给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.这道题有大bug,提示乱写,其实样例循环节为“cab”。这题跟poj 2406很像,只不过poj要求全部循环,而这题只要求部分就行。#include#include#include#include#includeusing namespace std;char s[原创 2018-01-25 09:23:47 · 264 阅读 · 0 评论 -
[bzoj 1662--Usaco2006 Nov]Round Numbers 圆环数
正如你所知,奶牛们没有手指以至于不能玩“石头剪刀布”来任意地决定例如谁先挤奶的顺序。她们甚至也不能通过仍硬币的方式。 所以她们通过”round number”竞赛的方式。第一头牛选取一个整数,小于20亿。第二头牛也这样选取一个整数。如果这两个数都是”round numbers”,那么第一头牛获胜,否则第二头牛获胜。 如果一个正整数N的二进制表示中,0的个数大于或等于1的个数,那么N就被原创 2018-02-01 14:26:17 · 637 阅读 · 0 评论 -
[bzoj 2709]迷宫花园
普通得甚至有些二逼的矮穷挫少年——Dios,不可避免地遇到了他生命中的劫数,白富美少女 Nyution。但是按照正常的校园故事的发展,Nyution 是无论如何不会喜欢上各方面条件都差到不行的 Dios 的。不过,Dios 还是面对 Nyution 颤抖着说出了那三个字。Nyution既不想过分地让 Dios 伤心,又不想接受她根本看不上的 Dios,于是决定让 Dios 走一个建在她家后院里的迷原创 2018-02-01 14:53:59 · 353 阅读 · 0 评论 -
[bzoj 3209]花神的数论题
设 sum(i) 表示 i 的二进制表示中 1 的个数。给出一个正整数 N ,花神要问你派(Sum(i)),也就是sum(1)—sum(N) 的乘积。这道题在网上的做法千奇百怪,我来讲一下我的蒟蒻做法,就是普通的数位dp,没用快速幂什么的。定义f[i][j],i不用我讲吧,为位数,j即为枚举到现在1的个数,那之后就是常规做法。值得注意的一点是当枚举到0时(即为没有1),需return 1,不原创 2018-02-01 16:59:51 · 238 阅读 · 0 评论 -
[bzoj 1833--ZJOI2010]count 数字计数
给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。这道题是一道比较好的数位dp,首先不要想着一下子解决,而要把大问题分解成小问题,1~9分别解决。定义f[i][j][k]意为i为枚举到现在的位数(从后往前),j为当前需算出的数码的值,k为当前已经算出的数码的个数,然后就是常规了。注意long long(本题一个大坑点),还有输出格式问题,前导0问题。原创 2018-02-03 15:17:32 · 291 阅读 · 0 评论 -
[bzoj 2438--中山市选2011]杀人游戏
一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民。 假如查证的对象是杀手,杀手将会把警察干掉。现在警察掌握了每一个人认识谁。每一个人都有可能是杀手,可看作他们是杀手的概率是相同的。问:根据最优的情况,保证警察自身安全并知道谁是杀手的概率最大是多少?...原创 2018-02-09 11:59:16 · 348 阅读 · 0 评论 -
[bzoj 1799--AHOI2009]self 同类分布
给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数。这道题一看就是数位dp,但是这题有难度,因为这题牵扯到了两个东东(各位数字之和,原数),所以要固定一个量,所以要枚举各位数字之和。定义f[i][j][k],i为枚举到的位数(从后往前),j一开始为枚举到的各位数字之和,然后减去枚举到的数值,到最后如果为0,则为满足条件,k为当前的数值%各位数字之和的值,如果最后为0,则为满足情况。原创 2018-02-05 11:40:28 · 288 阅读 · 0 评论 -
[bzoj 1026--SCOI2009]windy数
windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?这题感觉难度其实不大,但由于数位dp刚学没多久,所以便认为这个前导0感到有点恶心。一开始要认为它有前导0(其实是因为是最前位,没有前面的数跟它比较,没有限制),之后便是套路了。f[i][j]枚举到第i位前一个为j时的合法的个原创 2018-01-30 15:03:52 · 296 阅读 · 0 评论 -
[bzoj 5064]B-number
王女士是一个数学爱好者,这些天她对B数很感兴趣。 B数的定义:能被13整除且本身包含字符串”13”的数。例如:130和2613是B数,但是143和2639不是B数。 你的任务是计算1到n之间有多少个数是B数。这道题可以算是一道较水的数位dp,可以说是比较套路了,把握好f数组就好了。定义f[i][j][k1][k2],i为枚举到的位数(从后往前),j为枚举到的前一个的数,k1表示这个数是否包含原创 2018-02-06 15:19:14 · 444 阅读 · 0 评论 -
[bzoj 1924--SDOI2010]所驼门王的宝藏
在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族。被族人恭称为“先知”的Alpaca L.Sotomon是这个家族的领袖,外人也称其为“所驼门王”。所驼门王毕生致力于维护家族的安定与和谐,他曾亲自率军粉碎河蟹帝国主义的野蛮侵略,为族人立下赫赫战功。所驼门王一生财宝无数,但因其生性节俭低调,他将财宝埋藏在自己设计的地下宫殿里,这也是今天Henry Curtis故事的起点。Henry是一个爱财如...原创 2018-02-12 15:00:38 · 298 阅读 · 0 评论 -
[bzoj 1179--Apio2009]Atm
Siruseri 城中的道路都是单向的。不同的道路由路口连接。按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM取款机。令人奇怪的是,Siruseri 的酒吧也都设在路口,虽然并不是每个路口都设有酒吧。 Banditji 计划实施 Siruseri有史以来最惊天动地的 ATM 抢劫。他将从市中心 出发,沿着单向道路行驶,抢劫所有他途径的 ATM 机,最终他将在一个酒吧...原创 2018-02-12 16:44:46 · 556 阅读 · 0 评论 -
[bzoj 4241]历史研究
IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记。JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件。 日记中记录了连续N天发生的时间,大约每天发生一件。 事件有种类之分。第i天(1<=i<=N)发生的事件的种类用一个整数Xi表示,Xi越大,事件的规模就越大。 JOI教授决定用如下的方法分析...原创 2018-03-07 13:52:08 · 221 阅读 · 0 评论