一模 (5) day2】的更多相关文章

第一题:(水题) 题目大意:就是给出扫雷的图,然后统计每个九宫格的雷的个数. 解题过程: 1.好久没做这样的水题了.直接模拟水过.. 第二题: 题目大意:给出一个长度小于1000的数k,要求一个尽可能小的数x,这个数的各个位的乘积为k: 解题过程: 1.想不到什么高级的算法,感觉就是考高精度除法,于是果断dfs爆搜,既然要求尽可能小的数,那么每次就从9到2一个一个试除,第一个找到的答案就是最后答案.这样20个点能过17个. 2.对比了标程,发现有2个剪枝: 首先如果上一次除的是 x,那么这一次 …
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得到相应得分.现在要你引爆 k 个炸弹,使得得分最大. 解题过程: 1.一开始想到算出每个入度为0的点打掉之后的得分,然后做个堆,从大到小打,但是路径会有重叠的情况,也就是说打掉一条路径后可能会导致另外一条路径的权值发生变化.. 2.然后听到YYL大神一直在说2次BFS,就想到可以倒着来做..从出度为…
第一题: 题目大意:二进制数 n mod m 的结果是多少?  n 的长度(二进制数的位数)<=200 000:  m 的长度(二进制数的位数)<=20. 解题过程: 1.我的算法是直接高精度模拟,但是数据坑爹地有前导0,有前导0的4个点都WA了.. 高精度除法的编程复杂度确实有点. 2.标程算法要简单的多,考虑m的长度并不大,直接计算出来,然后对n取模,因为n可以拆成 2^x1 + 2 ^x2 ..... 2^xk,从左往右扫描,每次 乘2 在加上当前位的数,对m取模..利用同余定理,比较取…
第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007.  n<=1000000 解题过程: 1.递推式还真没想出来,就记录每个a[i]的分解质因数的结果,然后转移质因子的个数.可以拿到30分. 2.思路:计算a[i]的时候,a[i]=a[i-2]*a[i-1]*i.  追踪这个i,它到a[i+1]里的时候是一个i,到a[i+2]里的时候是2个i,到a[i+3]里的时候是3个i,到a[i+4]里的时候是5个i…
第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做任务,她可以选择任意一个任务来做:而Bob只会做难度为1的任务.只要其中有一个人达到n分,即算作那个人胜利.求Alice采取最优策略的情况下获胜的概率. n<=500 解题过程: 1.感觉这题是今天最难的一题.主要是概率的题目基本没有做到过.先做了后面两题,然后花了一个多小时才把这题给想出来. 2.…
第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题过程: 1.感觉有点像vijos的晴天小猪,有后向性的dp,当时用了spfa来做,于是这题也用spfa了.听说网格图可以卡掉spfa,以前一直不相信,结果今天就被网格图卡死了. TLE 5个点. 50分 2.AC算法:考虑点的权值小于1000,可以直接二分答案&&flood—fill 即可.…
话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~ 仍然是机智的链接链接:http://pan.baidu.com/s/1bn6I14N 密码:pmsa 第一题: 题目的数据范围非常小,来个 大法狮 吧.$6^6$只有$46656$,加上浮点运算的超…
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太低了,于是总结出了提高效率的方法. 大家的速度都是每分钟上(或下)一层楼.所有向上走的人手中都拿一个箱子,所有向下走的人手中都不拿箱子.到达第N层立刻放下箱子向下走,到达第1层立刻拿起箱子向上走.当一个人向上走,另一人向下走而在楼道里相遇时,向上走的人将手中的箱子交给另一人,两人同时反向.即原来拿箱…
第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即可. 2.F[i]表示i颗糖,先取的人若必胜,最少要多少步胜利,若必败,最多多少步失败.如果i减去一个质数可以达到一个必败态,那么必胜,反之必败. 初始得分80,数据坑爹,说小于10000的,却有20000的数据. 第二题: 题目大意: 有一种虫子,长度为X的时候,一天后会分裂成长度为X-1,X+1的2只…
第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n≤100000,m≤200000 解题过程: 1.一开始还以为是Trie树,很开心的打完了Trie 结果发现题目看错了..把修改看成了删除,而且就算是删除,我的算法也还是错的. 以后做题还是应该先想好算法保证算法正确再开始写,否则就白白浪费时间了. 2.想不出什么好的方法,我就直接处理每个单词(长度…
第一题: 题目大意:求出区间 [L,R]里约数最多的数.   L,R<=10^9 解题过程: 1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数.. 那么 用搜索质因子的方法  是不可能搜到它的,于是就放弃了搜索质因子的方法,用了个类筛法.直接暴力求出100w以内所有数的约数,骗到了30分. 2.AC算法:还是枚举质因子,枚举65536以内的所有质数,然后加很多乱七八糟的剪枝,还在研究中...待AC. 第二题: 题目大意:给出一个长度为N的整数数列,要求改变一些数字,使该数列递增.…
第一题: 题目大意:求满足条件P的N位二进制数的个数.P:该二进制数有至少3个0或者3个1挨在一起.. N<=20000 解题过程: 1.一开始直接写了个dfs把表打了出来,不过没发现什么规律,然后就尝试着反过来想,先求出不满足条件P的个数,然后总个数减一下.然后就把2^N-ans输了出来,结果发现是个斐波那契数列.(打表大法好啊) 2.如果直接写高精度是要超时并且爆空间的..所以要用滚动数组并且万进制优化(实际上我用了16位数字压成一个long long),貌似20000的数据万进制还是太慢.…
第一题: 题目大意:多重背包. 解题过程: 1.二进制拆分.最慢的点0.5s. 2.单调队列优化会更快,不过我不会.. 第二题: 题目描述:给定一个n×m的矩阵,记录左上角为(1,1),右下角为(n,m),现在从(1,1)开始取数,每次只能向下或向右移动一个单位,最终到达(n,m),我们把路径上所有的数相乘,结果记为C.使C的结果最大已经不能满足我们了,现在我们想让C末尾的零个数最少. 解题过程: 1.NOI导刊上的老题了..结论都记着了..只要做2次dp.F[i][j] , g[i][j] 分…
第一题: 题目大意:50*50的格子里玩贪吃蛇.给出N步扭头的操作,判断贪吃蛇会在第几步挂掉.(蛇初始向东) 解题过程: 1.一开始的方法是:为了加快速度,只保存头和尾的坐标,然后保存尾巴的方向,每次move先头运动,然后尾巴按照之前的方向运动直到需要改变方向(继续按之前的方向运动将撞到墙壁或者走到一个map[x][y]==0的地方)..事实证明这样是错误的.有可能尾巴继续走会到一个map[x][y]==0的地方,但是还不需要改变方向.. 运气不错,竟然还拿到了60分. 2.AC算法:保存所有点…
第一题: 有 N 个人顺时针围在一圆桌上开会,他们对身高很敏感. 因此决定想使得任意相邻的两人的身高差距最大值最小. 如果答案不唯一,输出字典序最小的排列,指的是身高的排列.N<=50 解题过程: 1.最大值最小的问题直接想到二分答案..然后就变成判断环的问题,但是想不到什么好的算法,就直接爆搜了..事实证明全部超时.. 2.正解:首先有一个贪心原则:即最高的和最矮的人肯定不会排到一起,然后他们之间的人必定是递增或者递减的(最矮的递增到最高的,然后最高的递减到最矮的),可用交换的方法证明.那么先…
第一题: 题目大意:给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b.中位数是指把所有元素从小到大排列后,位于中间的数. N<=100000 1.考虑到一个符合要求的连续子序列中,比b大的数的个数和比b小的数的个数相等.对于一个符合要求的区间[L,R], 设[L,pos_b-1]中比b大的数有x1个,比b小的有x2个,区间[pos_b+1,R]中比b大的有x3个,比b小的有x4个,那么肯定满足x1-x2==x4-x3. 2.处理出满足x1-x2=x的区间[L,pos_b…
第一题: 题目大意:(难以概括,就不贴了把.) 解题过程: 1.担心被精度问题恶心,就把平均数的地方乘了N,这样只有最后计算的时候才会是小数.. 2.数组保存的时候蛋疼的 没改成double.结果全部WA了. 初始得分0分. 第二题: 题目大意: 给出N件衣服的湿度,然后单位时间里衣服的湿度自然会减少A,单位时间里还可以用烘干机使一件衣服的湿度减少B(烘干的同时会自然减少A).求最少的时间衣服全部干. 解题过程: 1.很明显是考堆的,一个贪心思想就是每次都取出湿度最大的衣服 用一次 烘干机. 2…
第一题: 题目描述: 在一个长方形框子里,最多有 N(0≤N≤6)个相异的点.在其中任何-个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放置下一个油滴.那么应该按照怎样的顺序在这 N 个点上放置油滴,才能使放置完毕后所有油滴占据的总面积最大呢?(不同的油滴不会相互融合)注:圆的面积公式 V=pi*r*r,其中 r 为圆的半径 解题过程: 1.考虑到最多只有6个点,那么直接dfs实现枚举即可. 2.注意题目要求的是剩余面积...还有如果…
第一题: 题目大意: N层楼,K个人,M个箱子在1楼,给出K个人的初始状态(在第几楼,正在向上走还是向下走,向上走的人手里已经有箱子),每次移动一层楼,求把所有箱子(手里拿着的不算在M里)全部搬到顶楼的最少时间. K≤500000,M≤10^9 解题过程: 1.首先想到可以二分时间t,然后判断在时间t里能否搬完.根据向上走还是向下走分情况讨论每个人在时间t里最多能搬多少个箱子,然后加起来和剩下的箱子比较.初始得分50分,因为输出答案的时候用了printf("%d",ans),而ans是…
第一题: 题目大意:求最长公共上升子序列(LICS): 解题过程: 1.一开始想到模仿求最长公共子序列的方法,F[i][j]表示A串前i个,B串前j个的最长公共子序列,很明显当A[i]!= B[j]时,F[i][j]=max (F[i-1][j] , F[i][j-1]); 当A[i] = B[j] 的时候,由于还要满足上升的条件,那么就保存一个S[i][j]表示F[i][j]对应的最长公共上升子序列的末尾的最小值.那么F[i][j]=F[i-1][j-1]+1 (S[i-1][j-1]<A[i…
第一题: 题目大意:使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? n<=2*10^9 解题过程: 1.以前看到过这题了,一个数x的位数=(int)lg(x)+1  换一下底就是 ln(x)/ln(2)+1 ; 那么只要求一个最小的x满足 ln(x)/ln(2)+1>=n: 2.考虑到ln(x)/ln(2)+1是单调增的,所以只要二分x就可以快速求解. 第二题: 题目大意:给出n个有序队列,求出所有数中最小的m个.n,m<=10 000 解题过程: 1.这题也是NOI导刊…
第一题: 题目大意:和day1一样,给出m个小于n的数,求出出现次数大于m div 2 的数. 数据范围加大,1<=n<=2^31   1<=m<=3000000 解题过程: 1.一开始写了个数组模拟链表 hash,按 mod 指数p 分类,用一个数组记录 每一类的个数,如果每一类个数全部都小于等于一半,那么无解,如果有一个大于一半,那么遍历一边这一类的所有的元素,用一个表保存下来,看每个数出现了多少次. 超时一个点. 2.输入用getchar 优化后,最大数据0.4s过. 3.还…
第一题: 题目大意:给出n种物品和每种物品的件数,求拿k件的方案数.N<=30 解题过程: 1.一开始总想着是组合数学的模型,结果怎么都想不出来..然后写了个爆搜,数据很弱,只有1个点超时. 2.AC算法:F[i][j] 表示前i种取j件的方案数,枚举第i种物品分别取了0,1,2....p[i]件,累加方案数,即F[i][j]=sum(F[i-1][j-k])   0<=k<=min(j,p[i]); 思考:如果数据范围改的大一点,比如 K,N<=2000呢 ,求方案数mod p,…
本蒟蒻第一次没看题解A的题竟然是省选$Round1$ $Day2$ $T2$ 这道组合数学题. 考试时一开始以为是莫队,后来想到自己不会组合数的一些公式,便弃疗了去做第三题,,, 做完第三题后再回来看这道题,想到暴力算$组合数×错排$,我记得有一天晚上$Snayvals$问过我错排公式怎么推,但我并没有在意!!!幸亏我知道错排可以线性推出来,便开始用笔推错排公式.推了$30min$发现有计算机为什么不用!!!便打了一个表,很快就找出了规律$f[i]=(f[i-1]*f[i-2])*(i-1)$…
A.九九归一 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20(NOIP模拟赛day2)/九九归一 题解:题目意思就是问 a是不是n的一个原根 首先如果 gcd(a,n)!=1 显然不可能 输出0 然后我们有性质 若 gcd(a,n)==1 则 a模n的阶k|phi(n) 所以就可以枚举phi(n)的约数判定了 复杂度题解中说是 q*logn*logn*logn的... 代码: #include<c…
今天是钟皓曦大佬讲课,先来膜一波   %%%%% •数论 数论是这次培训的一个重点,那么什么是数论呢? 数论是研究整数性质的东西,所以理论上day2不会涉及小数QwQ (切入正题) •整除性: 设a,b ∈ Z,如果  c ∈ Z 并且 a = b * c,则称 b | a 称: b为a的因子 b能整除a a能被b整除  / /好像很简单的样子 •质数: 只有1和自身作为因子的数叫做质数 以 π(x)表示不超过x的素数个数,可以证明出以下结论(1): lim π(x) * ln x / x =…
计算系数 NOIP2011 day2 第一题 描述 给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m项的系数. 输入格式 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 测试样例1 输入 1 1 3 1 2 输出 3 备注 对于30% 的数据,有 0 ≤k ≤10 : 对于50% 的数据,有 a = 1,b = 1: 对于100%…
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的. 模块 就像一个个库. 有公共库 和第三方的库 基础格式 import sys(模块名称) 这边需要 模块的名字不要和 文件的名一致 ,   因为默认情况下,他的模块会先从本地目录的文件中寻找,而你的自…
没错,我又爆零了.....先让我自闭一分钟.....so 当你忘记努力的时候,现实会用一记响亮的耳光告诉你东西南北在哪. 好了,现在重归正题: 全国信息学奥林匹克联赛(NOIP2014) 复赛模拟题 Day2 长乐一中 题目名称 改造二叉树 数字对 交换英文名称 binary pair swap输入文件名 binary.in pair.in swap.in输出文件名 binary.out pair.out swap.out时间限制 1s 2s 1s空间限制 256M 256M 256M测试点数目…
自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对于任意\(a,b\),都可以定义\(a=qb+r\ \ (|r|<b)\),于是可以辗转相除.(显然,多项式环也是欧几里得环) 逆矩阵 方法与高斯消元类似,左边摆一个原矩阵,右边摆一个单位矩阵,高斯消元的过程中左边的行操作都在右边同样做一遍.最后左边剩下一个单位矩阵,右边就是逆矩阵. 对于方程\(A…