自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Facico的博客

程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。

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

原创 JZOJ 4935【NOIP2017GDKOI模拟1.12】b

DescriptionSolution这就是一道构造题。 原本有个很显然的算法,就是把n分解质因数,然后每个儿子放质因子个。 但是当这些质因数很大的时候,这个就不行了。 所以有一种构造法。 当它是2的倍数的时候,就放一个2的儿子,否则就减1。Code#include<iostream>#include<stdio.h>#include<string.h>#include<math.h>

2017-01-12 18:42:59 468

原创 JZOJ 4934 【NOIP2017GDKOI模拟1.12】a

DescriptionSolution首先每个数可以加减无数次,那么最后肯定会剪成一个最小的正整数。 如果一个数a和b互相去减,那么最后减成的最小的正整数就是a和b最大公约数。 那么明显的,我们需要给所有的数两两之间去最大公约数,然后再对这些最大公约数去最大公约数。 最后得出来的这个数就是能得到的最小的正整数z。 很显然的一个性质就是,所有减出来的数都是z的倍数。 那么很显然,询问的数中是

2017-01-12 18:37:16 727

原创 【JZOJ 4932】B

Description现在你有N个数,分别为A1,A2,…,AN,现在有M组询问需要你回答。每个询问将会给你一个L和R(L<=R),保证Max{Ai}-Min{Ai}<=R-L,你需要找出并输出最小的K(1<=K<=N,不存在输出-1)满足以下两个条件: ①能够在原来的N个数中选出不重复(下标不重复)的K个数,使得这K个数的和在区间[L,R]内。 ②能够在原来的N个数中选出不重复(下标不重复)的

2016-12-24 16:45:56 851

原创 【JZOJ 4931】A

Description有N家洗车店从左往右排成一排,每家店都有一个正整数价格Pi。 有M个人要来消费,第i个人会驶过第Ai个开始一直到第Bi个洗车店,且会选择这些店中最便宜的一个进行一次消费。但是如果这个最便宜的价格大于Ci,那么这个人就不洗车了。 请给每家店指定一个价格,使得所有人花的钱的总和最大。Solution还以为是什么强大的可以构造的题目,然后并不是。 如果有一个k位置,它填的值很小

2016-12-24 16:30:27 614

原创 【51Nod 1610】路径计数

Description路径上所有边权的最大公约数定义为一条路径的值。 给定一个有向无环图。 T次修改操作,每次修改一条边的边权,每次修改后输出有向无环图上路径的值为1的路径数量(对1,000,000,007取模)。Solution我们看到gcd=1的这个东西,一定要想想容斥可不可以(1的倍数的个数-2的倍数的个数-3的倍数的个数-5的倍数的个数……这个可以直接用莫比乌斯函数来搞)。 设f[i]

2016-12-23 22:09:40 1129

原创 【51Nod 1463】找朋友

Description给定: 两个长度为n的数列A 、B 一个有m个元素的集合K 询问Q次 每次询问[l,r],输出区间内满足|Bi-Bj|∈K 的最大Ai+Aj数据约定: n,Q<=100000 m <= 10 0<=A[i]<=1000000000 1<=B[i]<=n 1<=K[i]<=n 保证B[i]互不相等Solution这是一道需要认真看题的题目。 因为要询问[l,

2016-12-22 15:56:14 924

原创 【51Nod 1201】 整数划分

Description将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种。由于数据较大,输出Mod 10^9 + 7的结果即可。Solution这是一道非常神奇的DP题,用背包直接做会超时。 不过这个DP方程式其实是我推二维背包的时候不小心打错的时候推出来的。 我们设f[i][j]f[i][j]表示用i个数推出j的方案数。

2016-12-20 17:09:12 994

原创 【NOIP2017提高组模拟12.18】C

Description给出一个H的行和W列的网格。第i行第j列的状态是由一个字母的A[i][j]表示,如下: “.” 此格为空。 “o” 此格包含一个机器人。 “E” 此格包含一个出口,保证出口在整个网格中有且只有一个 每次可以选择上,下,左,右之一的方向,将所有剩余的机器人向这个方向移动一个格子,如果一个机器人被移出了网格,那么这个机器人会爆炸,并立即消失。如果一个机器人移动

2016-12-20 15:35:15 623

原创 【NOIP2017提高组模拟12.18】B

Description在两个n*m的网格上染色,每个网格中被染色的格子必须是一个四联通块(没有任何格子被染色也可以),四联通块是指所有染了色的格子可以通过网格的边联通,现在给出哪些格子在两个网格上都被染色了,保证网格的最外围一层不会在两个网格中同时被染色,即所有处于第x行第y列满足x=1或x=n或y=1或y=m的格子不会被在两个网格中同时被染色,请求出任意一种染色的方案,如果无解,请输出-1。Sol

2016-12-20 15:27:25 868

原创 【51Nod 1189】阶乘分数

Description1/N! = 1/X + 1/Y(0 < x<=y),给出N,求满足条件的整数解的数量。例如:N = 2,1/2 = 1/3 + 1/6,1/2 = 1/4 + 1/4。由于数量可能很大,输出Mod 10^9 + 7。Solution看到式子,直接考虑把式子简化,一般规律就是把等式两边全部变成乘号。 1n!=1x+1y{1\over n!}={1\over x}+{1\ove

2016-12-18 07:20:32 1047

原创 【NOIP2017提高组模拟12.17】向再见说再见

DescriptionSolution我们现在的目的是,a队赢(k+n)/2和(n-k)/2的方案数。 我们考虑正难则反,我们a队肯定赢i次的情况=至少赢i次的情况-肯定赢j次的情况的出现次数(j>i)我们先来考虑至少赢i次的情况。 我们设f[i][j]表示a队的前i的至少赢j次的情况(不考虑那些不确定的,因为要求至少的情况) 先把两个数组排序一下。 那么f[i+1][j+1]+=f[i][

2016-12-17 20:33:29 1100

原创 【NOIP2017提高组模拟12.17】巧克力狂欢

DescriptionAlice和Bob有一棵树(无根、无向),在第i个点上有ai个巧克力。首先,两人个选择一个起点(不同的),获得点上的巧克力;接着两人轮流操作(Alice先),操作的定义是:在树上找一个两人都没选过的点并获得点上的巧克力,并且这个点要与自己上一次选的点相邻。当有一人无法操作 时,另一个人可以继续操作,直到不能操作为止。因为Alice和Bob是好朋友,所以他们希望两人得到的巧克力总

2016-12-17 19:47:05 1045

原创 【NOIP2017提高组模拟12.17】环

Description小A有一个环,环上有n个正整数。他有特殊的能力,能将环切成k段,每段包含一个或者多个数字。对于一个切分方案,小A将以如下方式计算优美程度: 首先对于每一段,求出他们的数字和。然后对于每段的和,求出他们的最大公约数,即为优美程度。 他想通过合理地使用他的特殊能力,使得切分方案的优美程度最大。Solution很容易想到所有答案都是数字和的因数,而且答案会越来越小。 那么先分解

2016-12-17 19:32:44 927

原创 【51 Nod1378】夹克老爷的愤怒

Description夹克老爷逢三抽一之后,由于采用了新师爷的策略,乡民们叫苦不堪,开始组织起来暴力抗租。 夹克老爷很愤怒,他决定派家丁常驻村中进行镇压。 诺德县 有N个村庄,编号0 至 N-1,这些村庄之间用N - 1条道路连接起来。 家丁都是经过系统训练的暴力机器,每名家丁可以被派驻在一个村庄,并镇压当前村庄以及距离该村庄不超过K段道路的村庄。 夹克老爷一贯奉行最小成本最大利润的原则,请

2016-12-16 22:46:54 654

原创 【NOIP2017提高组模拟12.10】幻魔皇

Description幻魔皇拉比艾尔很喜欢斐波那契树,他想找到神奇的节点对。 所谓斐波那契树,根是一个白色节点,每个白色节点都有一个黑色节点儿子,而每个黑色节点则有一个白色和一个黑色节点儿子。神奇的节点对则是指白色节点对。 请问对于深度为n的斐波那契树,其中距离为i的神奇节点对有多少个?拉比艾尔需要你对于1<=i<=2n的所有i都求出答案。Solution把一段路径拆成两段,x->lca,lca

2016-12-12 22:15:35 597

原创 【NOIP2017提高组模拟12.10】神炎皇

Description神炎皇乌利亚很喜欢数对,他想找到神奇的数对。 对于一个整数对(a,b),若满足a+b<=n且a+b是ab的因子,则成为神奇的数对。请问这样的数对共有多少呢?Solution要求ab是a+b的倍数,那么我们先设d=gcd(a,b)d=gcd(a,b) 设a′=ad,b′=bda'={a \over d},b'={b \over d} 所以d(a′+b′)|d2a′b′=>a

2016-12-12 21:59:01 1147

原创 【51Nod 1294】修改数组

Description给出一个整数数组A,你可以将任何一个数修改为任意一个正整数,最终使得整个数组是严格递增的且均为正整数。问最少需要修改几个数?Solution首先需要严格递增,而且要改成正整数。 那么就是第i位至少要是i,那么如果a[i]Code#include<iostream>#include<stdio.h>#include<string.h>#include<math.h>#i

2016-12-07 22:24:11 825

原创 【51Nod 1556】计算

Description有一个1*n的矩阵 固定第一个数为1 其他填正整数 且相邻数的差不能超过1 求方案数%1e9+7的结果Solution我们观察一下从i推到i+1的数里面,除了是1的数要乘2,其他的都要乘3。 那么现在的问题就是在一个二维平面里面,从(0,0)走到(i,0)可以向上,向下向右走一格,但是只能在第一象限,有多少种走法? 到网上看看了,这个就是默慈金数: m[i]=m[i−1

2016-12-05 22:14:28 1052

原创 【51Nod 1383】整数分解为2的幂

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Solution看到这题就是一个递推题,在数学课上不听讲找

2016-12-05 21:17:41 1099

原创 【51Nod 1515】明辨是非

Description给n组操作,每组操作形式为x y p。当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等;否则输出NO,并忽略此次操作。当p为0时,如果第x变量和第y个变量可以不相等,则输出YES,并限制他们不相等 ;否则输出NO,并忽略此次操作。Solution这是一道很经典的题目。 如果只有强制相同集合的话,那么这题是很简单的。 但是,强制不相等的情况怎么办?

2016-12-04 10:29:20 891

原创 【51Nod1120】机器人走方格 V3

DescriptionN * N的方格,从左上到右下画一条线。一个机器人从左上走到右下,只能向右或向下走。并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10007的结果。Solution这个东西一看就想到了卡特兰数。 那么答案就等于2∗Cn−12∗n−2n{2*C_{2*n-2}^{n-1}}\over n 然后用Lucas定理做一

2016-12-03 20:06:21 797

原创 【NOIP2016提高组复赛】愤怒的小鸟

DescriptionSolution很明显是一个状态压缩DP的题目,不过也可以打成记忆化搜索。 设f[i]表示每个点选或不选的状态投射小鸟的最少方案。 首先预处理一个g[i][j]表示选i和选j,需要的小鸟可以经过小鸟的01状态。 然后直接DP就可以了:f[i|g[j][k]]=min(f[i|g[j][k]],f[i]+1);f[i|g[j][k]]=min(f[i|g[j][k]],f[

2016-11-30 17:14:39 4115

原创 【NOIP2016提高组复赛】蚯蚓

DescriptionSolution这题打暴力,用堆来做,理论上是可以拿80分,所以比赛还是打暴力好。 但是,正解又短又机智。 我们假设x1>x2x1>x2。 那么x1肯定会在x2之前就被剪断。 设x1x1被剪成p1和q1,p1=⌊px1⌋,q1=x1−⌊px1⌋p1和q1,p1=\lfloor px1\rfloor,q1=x1-\lfloor px1\rfloor 设x2x2被剪成p2

2016-11-29 17:29:37 4638

原创 【NOIP2016提高组复赛官】组合数问题

DescriptionSolution这道题很容易。 首先肯定要预处理,然后用矩阵前缀和。 可以用杨辉三角或者是分解质因数。 然后就没有了。Code#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define fo(i,a,b) for(i=a;i<=b;i++

2016-11-29 17:09:38 2287

原创 【NOIP2016提高组复赛】换教室

DescriptionSolution这题正解很短很简单,就是基础的概率期望题。 比赛的时候打floyd暴力可以过80分。 先用floyd预处理一下。 设f[i][j][k]表示第i个时间段,选了j个教室要申请(不一定成功),k表示i申请或不申请。 我们从i推到i+1,如果要推到f[i+1][j][0]的话,那么第i+1个时间段肯定在a[i+1]。这个可以从i的0状态和1状态推过来,如果从0

2016-11-29 17:05:28 3245

原创 【NOIP2016提高组复赛】玩具谜题

DescriptionSolution这就是一道模拟题吗。 向右就加,然后mod一下。向左就减,然后mod一下。Code#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)#define fod(i,

2016-11-28 22:44:52 1537

原创 【NOIP2016提高组复赛】天天爱跑步

DescriptionSolution这道题是NOIP里面最难的一道题。 暴力打的好可以拿80分,比赛的时候还是打暴力比较好。 我们思考一下从x到y的路径,这个可以拆成从x到lca的路径和从lca到y的路径,这个很明显。 如果一个点i在从x到lca 的路径可以检测到的话,那么就有deep[i]+w[i]=deep[x]deep[i]+w[i]=deep[x]。 如果一个点i

2016-11-28 22:42:13 7619

原创 NOIP2016提高组总结

DAY1来到了广州,不错啊,旁边的饭店很多,可以好好的腐一下了。 一群人走进了一个小巷,住进了一个七天酒店,发现房间里面好小啊。 吃完饭后,一直都在腐败。 通知开会的同学并没有到我们的房间来,结果在结束开会的前几分钟我们才过去。 早早的睡了……第一天,状态不错。早早的到了考场。 打开C++,发现调试不了,吓了我一大跳。做到第三题的时候才发现,设置的变量要等高亮的那条东西next一下,才调的

2016-11-28 14:55:18 1249 2

原创 NOIP赛前模拟总结

前言NOIP虽然是一个比较基础的赛事,但是十分的重要,失足千古恨…… 所以,就需要NOIP赛前模拟。在这么多NOIP模拟中暴露出来的问题很多。 所以就需要总结。问题归纳对拍作为一个Oier,必须要会打暴力,比赛时候每道题都要打暴力,也就是说每题都需要对拍—-> 1、不对拍,会非常的虚,对后面的心情影响很大。 2、一次性答完题的漏洞一般不会为零。 3、一般对完拍之后,这道题目就稳了(因为两个

2016-11-17 17:21:15 788

原创 【51 Nod 1743】 雪之国度

Description雪之国度有N座城市,依次编号为1到N,又有M条道路连接了其中的城市,每一条道路都连接了不同的2个城市,任何两座不同的城市之间可能不止一条道路。雪之女王赋予了每一座城市不同的能量,其中第i座城市被赋予的能量为Wi。 如果城市u和v之间有一条道路,那么只要此刻雪之女王的能量不小于|Wu-Wv|,这条道路就是安全的。如果城市u和v之间存在两条没有重复道路的安全路径(其中

2016-11-16 22:48:31 690

原创 SPFA优化总结

简介SPFA一个很快很短适合稀疏图的单元最短路的算法。 但是有时用优化,在稠密图中跑的很快。优化优化1:SLF如果当前要入队一个点i,如果d[i] < dhead就放入队首,否则就放入队尾。这个本来要用一个双端队列来实现的,但是要一个超级好实现的方法,但是比较水,但是实测很快,加进来一个tail后,如果d[data[head+1]]>data[tail],那么swap(data[head+1],d

2016-11-14 22:02:03 2663 2

原创 【NOIP2016提高A组集训第15场11.14】过河

DescriptionSolution一开始看到这道题的时候,就想,这不就是连边题吗!!! 然后,一通乱连,然后放弃治疗…… (i,j)表示第i个桩放第j个圆盘。 结果连边其实非常的简单:从0向(i,j)(如果能连的话)连权为c[j]的边,然后(i,j)向终点连权为0的边(如果能连的话)。 然后(i,j)向(p,q)连边(如果能连的话) 然后跑一次spfa就能拿60分了。 我们来优化一下

2016-11-14 21:50:04 1055

原创 【51Nod 1319】跳跃游戏

Description有一个可以在二维平面上做跳跃的机器人,该机器人有独特的跳跃程序。该程序的跳跃距离是由一个循环序列S决定的。序列S有无穷多项,但其有一个最小周期序列,令其为A,A中有N个元素(N<=50),S[i]=A[i mod N],i从0取到正无穷。例如,A={2,5,1,1}那么S={2,5,1,1,2,5,1,1,2,5,1,1…..}。机器人的跳跃规则如下:第k次跳跃时,机器人可以跳

2016-11-12 22:39:49 1009

原创 【NOIP2016提高A组集训第14场11.12】随机游走

DescriptionYJC最近在学习图的有关知识。今天,他遇到了这么一个概念:随机游走。随机游走指每次从相邻的点中随机选一个走过去,重复这样的过程若干次。YJC很聪明,他很快就学会了怎么跑随机游走。为了检验自己是不是欧洲人,他决定选一棵树,每条边边权为1,选一对点s和t,从s开始随机游走,走到t就停下,看看要走多长时间。但是在走了10000000步之后,仍然没有走到t。YJC坚信自己是欧洲人,他认

2016-11-12 19:50:44 980

原创 【NOIP2016提高A组集训第14场11.12】最近公共祖先

DescriptionYJC最近在学习树的有关知识。今天,他遇到了这么一个概念:最近公共祖先。对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。YJC很聪明,他很快就学会了如何求最近公共祖先。他现在想寻找最近公共祖先有什么性质,于是他提出了这样的一个问题:n层的满k叉树T,求对于每一对(i,j)(1≤i,j≤T的点数),LCA(T,

2016-11-12 19:10:53 1000

原创 【NOIP2016提高A组集训第13场11.11】字符串

Description某日mhy12345在教同学们写helloworld,要求同学们用程序输出一个给定长度的字符串,然而发现有些人输出了一些“危险”的东西,所以mhy12345想知道对于任意长度n的小写字母字符串,不包含危险串的字符串个数Solution一开始还打容斥,没有往动态规划的方向去想,但是这是一个很简单的动态规划的题目。 那么直接设f[i][j]为做到字符串第i个,危险串匹配到第j个。

2016-11-11 16:16:23 804

原创 【NOIP2016提高A组集训第12场11.10】图的半径

Description mhy12345学习了树的直径,于是开始研究图的半径,具体来说,我们需要在图中选定一个地方作为中心,其中这个中心有可能在路径上。 而这个中心的选址需要能够使得所有节点达到这个中心的最短路里面最大值最小(也就是说离中心最远的结点距离尽可能小),求出这个最大值的最小值,作为图的半径。Solution看到这题,一开始不是怎么会做,但是看到n≤200,就想开始打暴力。 暴力打着

2016-11-10 21:42:19 644

原创 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰

Description在炽热的核熔炉中,居住着一位少女,名为灵乌路空。 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量——核能。 核焰,可融真金。咳咳。 每次核融的时候,空都会选取一些原子,排成一列。然后,她会将原子序列分成一些段,并将每段进行一次核融。 一个原子有两个属性:质子数和中子数。 每一段需要满足以下条件: 1、同种元素会发生相互排斥,因此,同一段中不能存在两个

2016-11-10 20:52:09 1529

原创 【51Nod 1255】字典序最小的子序列

Description给出一个由a-z组成的字符串S,求他的一个子序列,满足如下条件:1、包含字符串中所有出现过的字符各1个。 2、是所有满足条件1的串中,字典序最小的。例如:babbdcc,出现过的字符为:abcd,而包含abcd的所有子序列中,字典序最小的为abdc。Solution一开始看到这题就有一个思路:如果现在找出来的答案末尾是x,找到了一个字符y,那么如果y比x要小,y后面还有x存在

2016-11-09 22:42:31 2436

原创 【NOIP2016提高A组集训第10场11.8】时空传送

Description经过旷久的战争,ZMiG和707逐渐培养出了深厚的感♂情。他们逃到了另一块大陆上,决定远离世间的纷争,幸福地生活在一起。钟情707的neither_nor决心要把他们拆散,他要动用手中最大杀器之一——超时空传送仪来分开ZMiG和707。ZMiG和707所在的大陆可以被描述成N个点M条边的有向无环图。707和ZMiG自带魔法防御,neither_nor只可以用超时空传送仪把707

2016-11-08 22:46:53 628

空空如也

空空如也

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

TA关注的人

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