自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 11.5离线赛

一、放数字游戏数据:对于70%,n∈[1,2000]; 对于100%,n∈[1,200000],Ai∈[0,108];没想到第一题这么难,推了好久的公式。先设dp[i]表示前i个数的所有方案的和。当前加入当前有x个数,放一个数a进去,可以放在左边或右边。这样就有两个dp[i-1]。再计算a和相邻数的乘积。手算一下发现有一个规律:A[0] * 2+A[1] * 2+A[2] * 4+A[3] * 8

2017-11-05 19:52:25 215

原创 11.4离线赛

一、猴子除草数据:对于100%,n∈[1,1e5] 显然的二分。但是只有95分。后来发现如果m==1时,直接出就有问题了,要特判掉。二、机器人数据:对于40%,n∈[1,100],k∈[1,5] 对于90%,n∈[1,100000],k∈[1,16] 对于100%,n∈[1,100000],k∈[1,20]对于40%,可以直接全排所有颜色,然后再求一遍逆序对。如果进行亦凡预处理,在O(K)时间内

2017-11-04 16:19:55 326

原创 离线赛11.3

一、excellent数 数据:对于20%,n∈[1,6] 对于70%,n∈[1,1000] 对于100%,n∈[1,1e6]暴力显然只能过20%的。注意题目要求是两个都满足good数,那么枚举一维使其为good数后,再判定。枚举一下a的个数和b的的个数就行了。如果可以,只要再组合数就行了。组合数如果用公式求是n^2的,太慢了,可以用逆元求,这样是n log n二、数字分割 数据:对于80%

2017-11-03 18:29:59 232

原创 NOIP2016提高组Day2

一、组合数问题数据: 数据也没有用……因为所有询问中k的值是一样的,直接预处理组合数。处理时一直模k,这样求出来的就是这个数模k的余数。等于0的就是k的倍数。然后前缀和一下就行了。二、蚯蚓数据: 当m==0时就是排从大到小排序输出前60分按照题目模拟,在加上优先级队列或者手打堆就能过了。基本上就是每次弹出最大值,然后拆分,再放回去。但是显然log n 太慢了,能不能快一点?注意到拆分的时候,每次

2017-10-30 18:18:13 354

原创 NOIP2016提高组Day1

一、玩具谜题数据: 其实数据范围和切分没有用的……直接模拟就能过的说……二、天天爱跑步 数据: 我考试时一档档写过来,原来以为有80分,但是只有65,是链的15分写错了,后来发现想得太简单了。Si==Ti和Wj==0只要循环判断就行。链推一下也简单。正解之前先说Si==1和Ti==1的情况Si==1: 此时相当于有很多条链挂在了根节点上往下,这样就用前缀和(树上前缀和)就行了。具体就是把末端

2017-10-29 21:39:20 386

原创 区间dp

区间dp写起来就比概率dp写起来有套路多了。 总的来说,自认为区间dp就只有三四种套路。大致分成两种,小区间推大区间,大区间推小区间一些平常的区间dp只要定义dp[][]两维就行,两种不同的定义方式。一种dp[i][j] 表示左端为i右端为j。另一种是dp[i][j] 表示左端为i,长度为j。两种写法对应的循环也不同。以小区间为例 对于第一种,dp[i][j] 左端点+右端点for(int i=

2017-10-28 21:03:48 670

原创 NOIP2015提高组Day1

一、神奇的幻方数据:对于100%,n∈[1,39],且n必为奇数 模拟题。没什么好讲的。重点是,noip2017的提高组初赛是这道题……二、信息传递数据:对于60%,n∈[1,2500] 对于100%,n∈[1,200000]题目里给的序列可以变成一张图,根据题目意思在自己画一个有向图,发现就是求一个图上的环的长度。而且只有n条边,那么只有一个环。如果学了强联通,那么就是裸题了。但是不会,只能换

2017-10-26 19:29:25 504

原创 概率DP

概率dp顾名思义就是求一件事件发生的概率。那么和其他的dp有什么区别?没有实际上的区别,只是转移的是概率这一维,而且基本上概率这一位只能装在dp值里面(其他很多dp可以把要的答案放到下标里的)。对于概率dp完全可以把他当做普通的dp,只是有一维固定了罢了。概率dp可以和很多类型挂钩,比如背包,树形,状压等等。几道例题:一、HDU 2955 Robberies 如果问的不是概率的话,很简单

2017-10-26 11:27:30 779

原创 NOIP2013提高组Day2

一、积木大赛数据:对于70%,n∈[1,1000] 对于 100%,n∈[1,100000]暴力就是从一个点不断往后刷。贪心的想法,每次都要刷较多的区间,那么注意到高的都比相邻的低的刷的次数多,只要记录A[i]-A[i-1]就行了(A[i]>A[i-1])二、花匠数据:对于 70%,n∈[1,1000],hi∈[1,1000] 对于 100%,n∈[1,1e5],hi∈[1,1e6]注意一点:序

2017-10-25 10:35:49 230

原创 NOIP2013提高组Day1

一、转圈游戏 按照题意每个人往后m个,那就是(10^k*m+x)%n,然后用快速幂就可以了二、火柴排队 看起来很像鬼脚图,但是有点不一样,鬼脚图的上一层是固定的,但这里两层都可以动 注意到交换对于交换上面还是交换下面效果都是一样的,那么直交换下面就可以了 这样和鬼脚图就一模一样了,排序一下,重新定义一下就行了三、货车运输 我一档档写了过来 对于30分,和七夕是一样的,只要枚举每条边作为最

2017-10-23 22:24:51 253

原创 NOIP2012提高组Day2

NOIP2012Day2一、同余方程数据:对于100%,a、b∈[1,2e9]模板题,实在不行手推一下也行。二、借教室数据:对于 30%,n,m∈[1,1000] 对于 100%,n,m∈[1,1e6]30分暴力模拟就行。看完题想到的就是线段树,把区间最小值存下来就行了。当tree[1]<0(tree[1]就是1-n这段区间)时,就直接输出。这样写只有95分(如果服务器不快的话),线段树的常数太大

2017-10-23 10:36:22 252

原创 10.21离线赛

一、完美01正方形数据:对于100%,n、m∈[1,300]注意一点,题目问的是正方形,不是矩形。那么枚举一个左上角和正方形边长,这样才n^3,然后用二维前缀和判断,就可以过了。二、重温LIS数据:对于70%,n∈[1,1000] 对于100%,n∈[1,10^5],LIS的长度不超过1000快速求LIS的方法大家也都知道,这里就不介绍了。问题多了一个就是判断一个数是否在LIS上。肯定在很简单,如

2017-10-22 17:28:04 196

原创 区间第K大值

数据结构专题做法有多种: 1、二分+分块 2、二分+归并树 3、划分树 4、主席树其中第3种我没有写。 这四种方法各自的时间空间复杂度都不一样,推广性也不一样。时间: 二分+分块:O(nlog√(nlogn)+m√nlog1.5n) 二分+归并树:O(nlogn+mlog3n) 主席树:O( (n+m)logn )推广性: 二分+分块:推广性强,效率不高 二分+归并树:推广性弱,

2017-10-20 18:14:18 418

原创 NOIP2012提高组Day1

NOIP2012Day1一、Vigenère 密码数据:密钥长度∈[1,100],密文长度∈[1,1000]很简单的一道题,只要对着推一下公式就行了。二、国王游戏数据: 对于 20%,n∈[1,10] 对于 60%,n∈[1,100],保证答案不超过 109 对于 100%,n∈[1,1,000]20%的暴力全排就行了答案要超long long,所以要高精度正解是贪心。对于一个数Num(i),

2017-10-20 10:45:28 278

原创 NOIP2014提高组Day2

NOIP2014Day2一、无线网路发射器选址数据:对于100%,矩阵大小129*129(0-128),n∈[1,20],d∈[1,20]看完题后想到的是二维前缀和,看完数据后发现没有关系,暴力也可以过,直接129*129*n 就行了二、寻找到路数据:对于100%,n∈[0,1e4],m∈[0,2e5]看完题后想暴力,不是很会。但是看完条件后,发现条件1只要从终点反向走一遍,就可以把所有到不了的点全

2017-10-19 09:23:53 201

原创 NOIP2011提高组Day2

NOIP2011提高组Day2一、计算系数数据:对于50%,a=b=1 对于100%,k∈[0,1000], n,m∈[0,k],且n+m=k,a,b∈[1,1e6]a=b=1时就是杨辉三角。k又很小,n^2即可a,b不为1时,可以打个表,发现a,b的次方就是所给的n,m,那就可以套个快速幂,再用上上面的那个杨辉三角就行。我不是这样写的,我打了个表去算,也就只是n^2的事。二、聪明的质检员对于

2017-10-18 09:20:49 341

原创 2017 NOIP 提高组模拟赛(四)Day2(计蒜客)

一、鬼脚图 原题:计蒜客考试的时候先看错了题,很高兴,改了。 交了后错了,看了一下题,又看错了…… 然后两分钟改完,崩了……横线就是交换位置,在读入的时候把线两边得数交换一下就是最终序列。 最少横线数就是最终序列的逆序对个数。Code:#include<bits/stdc++.h>#define M 1000005using namespace std;int B[M],A[M],an

2017-10-16 20:47:57 417

原创 红警

状态有很多,要是不理理清楚会很麻烦1、大本营的血量 2、当前每秒的攻击力 3、过去的时间 4、已有坦克总量 5、坦克的种类分析一下:2、4、5三个之间存在关系,坦克的数量和种类决定了每秒的攻击力 所以4、5两个其实可以不要,只需要2一个就可以了 那现在只剩下1、2、3三个维度了,那么就定义dp[][],把三个带进去 1、dp[血量][每秒伤害值] 2、dp[时间][每秒伤害值] 3

2017-10-15 15:04:39 431

原创 10.15离线赛

一、小X的质数 数据: 计蒜客原题就是筛一下素数,然后按照题意就行了。1e7以内有60多万个素数,直接n^2岂不是超时?素数相乘会很大,当大于R时break掉就行了。然后再一个前缀和维护一下就没了。Code:#include<bits/stdc++.h>using namespace std;int prm[665005],n,pc,cnt[10000005];bool Q[10000

2017-10-15 14:39:06 213

原创 10.12离线赛

一、神经网络 数据:对于50%的数据,n∈[1,100] 对于100%的数据,n∈[1,200]很简单的一道题,但是只看题目会有点误解。题目中说神经若处于兴奋状态,下一秒向后发消息。我理解成这个要按照时间来,用完后就有成平静态。这样的话U[i]就多减了,而且有问题,只有20分。 实际上是一个点的Ci要把所有他的输入的Cj全部算出来才行。这样就有两种方法: 1、按照拓扑序,一层一层算过来 2

2017-10-12 21:19:42 201 1

原创 Paths升级

考试题的Path的升级版,不是求最多的路径数量,而是求选哪些路径的价值和最大,这样就没有办法贪心了。知识点: 1、很明显的能看出来这是一道树形dp题。 2、每个点之间的关系要和路径连上关系,树上的路径是固定的,那就有一个lca。 3、为了计算dp值,要求路径上的点的值,又要更新,那就要用到线段树。 4、树上的线段树,又要用到dfs序。然后分条来讲 1、树形dp这就没法讲了,看不出来也没有办

2017-10-11 21:01:55 323

原创 折半枚举

折半枚举,字面上就是只枚举一半,另一半要贪心。 多用于一些二枚举题,当n的大小很大时,直接枚举会超时,那可以只枚举一半(不是只计算一半,两边都要算,分开来算),另一半的值算出来后贪心的去取一个值是答案最优。 类似的题目有:疯狂的猜数字,礼物。例一、疯狂的猜数字 在猜数字的基础上加大了数据范围,从四位数变成九位数,直接枚举肯定会超时。那就只枚举一半。这里的一半不是指数值的一半,而是数位的一半,即

2017-10-11 16:19:21 950

原创 10.10离线赛

一、字符连通块 数据:对于70%,n、m∈[1,100] 对于100%,n、m∈[1,1000]其实很简单,改变一个‘*’变成‘.’,那就会连通其上下左右四个点,那只要一开始判一下连通块,然后标记一下就行了。二、回文字符序列 数据:对于30%,n∈[1,20] 对于60%,n∈[1,100] 对于100%,n∈[1,2000]对于30%,可以二进制枚举,然后判选出来的点能否组成回文,这很简

2017-10-11 09:20:14 179

原创 10.9离线赛

一、弹钢琴 数据:对于60%,n、m∈[1,5000] 对于100%,n、m∈[1,500000]对于60%,N*M的很好想,对于每个询问点,向前一直找梦想后一直找就行了。 然后可以想到其实对于这一块里所有答案都是一样的,那就可以预处理出来,把每一块的L、R存下来,放在两个数组里。询问时在R数组里二分查找。 再者,可以用并查集,把一块里其他点都指向第一个点,把这一块的L、R坐标放在第一个点上

2017-10-10 11:11:22 178

原创 10.8离线赛

一、弹钢琴数据: 对于70%,N∈[1,1000] 对于100%,N∈[1,1e9],K∈[1,50]排列组合的一道裸题。两种实现排列组合的方法:1、变为递推式计算。因为对于一个组合(aCb)=((a-1) C (b))+((a-1) C (b-1))。然后按照双重循环过去就好了。#include<bits/stdc++.h>#define Mod 100000000

2017-10-08 16:28:34 146

原创 10.7离线赛

预分240 实分240一、S数 应得100 实得100题意:在[l,r]区间内求满足S(x*x)=S(x)^2的数的个数,S(x)=x各位数字和数据:对于80%,r∈[1,1e5] 对于100%,r∈[1,1e9],l<=r80%的只需要一个循环打过去就可以了。然后把表打出来,发现满足的x只由0123四个数字组成,按照这四个数字造数,共4^9=262144个,

2017-10-07 20:49:53 164

原创 八种排序

1、计数排序 稳定 n+maxn 2、冒泡排序 稳定 n^2 3、选择排序 不稳 n^2 4、插入排序 稳定 n^2 5、基数排序 稳定 P+n 6、快速排序 不稳 n log (n) 退化(n^2) 7、归并排序 稳定 n log n

2017-10-06 16:45:20 219

原创 10.6离线赛

预分230 实分180构造序列 应得100 实得100 题意:求满足相邻两个数AB,A<=B||A%B!=0的序列的个数,元素范围是[1,k],对1e9+7取模数据:对于80%,n∈[1,10],k∈[1,1000] 对于100%,n∈[1,10],k∈[1,100000]一看就是dp题,一层层推过来。如果按照题意直接写过来,那就是O(N * K * K),只能过80

2017-10-06 15:37:35 164

原创 NOIP提高组2010-2015初赛+模拟2

NOIP2010 1、提出“存储程序”的计算机工作原理的是()。 A)克劳德•香农 B)戈登•摩尔 C)查尔斯•巴比奇 D)冯•诺依曼 【分析】选择D A引入热力学“熵”的概念,信息学的创始人 B摩尔定律,计算机性能每隔约两年将翻一番 C现代计算机鼻祖,设计差分机和分析机2.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理

2017-10-05 21:18:17 2561

原创 10.4离线赛

NOIP2014提高组day1模拟 预分270 实分170生活大爆炸版石头剪刀布 应得100 实得100 题意:多了两种出法,输赢如下表 每个人的出法都有周期性,问n回合后的得分。数据:n∈[1,200]数据太小,一遍循环就可以过了,分数只需要打个表就行,代码很短联合权值 应得100 实得0题意:在一棵树上每个点有点权,边的长为一,求所有两点间距离为二的点对的点权乘积的和,和

2017-10-04 22:19:25 165

原创 10.3离线赛

预分:200 实分:175写书 应得:100 实得:100题意:计算1到n的数字出现个数数据:对于100%,n∈[1,1e9];小学奥数题,没有必要多想,一位数两位数三位数直接计算即可。LR棋盘 应得:40 实得:35题意:读入一个字符串,在串上有LR两种标记,L只能向左走,R只能向右走,每次只能走一个L或R,只能向没东西的格子走,问有多少种走法。最后对1e9+7取模数据:对于40

2017-10-04 08:40:58 237

原创 NOIP提高组2005-2009初赛+模拟1

为节省篇幅,程序阅读填空就不放上来了 NOIP2005 1、 字符串“ababacbab”和字符串“abcba”的最长公共子串是() A) abcba B)cba C)abc D)ab 【分析】选择B 注意是公共子串,是要连续的,不连续的是子序列,要注意区分2、Intel的首颗64位处理器是() A)8088 B)8086 C)80386 D)Pentium 【分

2017-10-02 08:40:46 1865

空空如也

空空如也

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

TA关注的人

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