NOIP越发接近了,于是自己也跟着机房的几位师兄一起做了几次NOIP模拟赛,收获颇多。

#1-T1:求点集中的点能否只用三条与坐标轴平行的直线就能全部被经过,其实只要将横纵坐标排序后逐个点检查下就行。

#1-T2:先算出结束时每头牛跑了几圈,然后对于小数部分离散化,最后按照从小到大统计Sum([d[i]-d[j]])(1<=i<j<=n)【用树状数组】

#1-T3:单调队列+线段树【其实本人认为不用,貌似加个链表就行了】

#2-T1:O(n)解法,直接模拟数字进位的情况。O(k)解法,HYJ大神搬出了组合数学大法,貌似是先把最高位的1先求出来,然后从高到低求。

#2-T2:求一个无向图的最小环,这个环中一定要包括K个点和另外(n-k)个点的其中一个。先对K个点跑一次Spfa,求出这K个点至其他点的最短距离,然后枚举另外(n-k)个点分别加入环,求环的长度,取最小的环。

#2-T3:题意略长。O(n^2),枚举AB串的各个字符,若相同则求有多少f(x,y)包含此对相同字符,并+1,最后统计f的总和。O(nlogn),应用前缀和思想。

#3-T1:读懂了题意,也就是sort+去重而已,但由于精度问题,我们要定义分数结构体来储存小数。

#3-T2:直接模拟,加并查集优化。

#3-T3:正解理解不能。。。

#4-T1:将边从大到小加入图,并保证K个点彼此之间不相连,若不能保证就将此边作为答案的割。

#4-T2:从右到左的KMP。

#4-T3:DP,三个状态:至第i行,已出现j块,最下面一行的形状。然后12个状态转移方程。

#5-T1:用2^n模拟K个糖果的分配,然后根据每个概率局面再用2^n求出通过的概率。

#5-T2:利用最小生成树的加边成环性质,从大到小删边并求边左边和右边的的节点个数,进行计算并加入答案。

#5-T3:将原数据弄成二元组(i,j),i为数据大小,j为数据位置,然后按i为第一关键字,j为第二关键字从小到大排序;对于每个询问x,y,z用二分查找第一个大于等于(z,x)的二元组,然后判断此二元组是否小于等于(z,y)。

#6-T1:因为a是保证大于0的,所以F(x)是一个单峰函数,于是用三分法做。

#6-T2:Splay、Treap乱搞。正解是优先队列,也就是用堆维护左边最大的,右边最小的蛋糕。

#6-T3:正解理解不能。。。【果然太弱】

#7-T1:题目要求选几个数,使得在满足总和不超过某个数的情况下总和最大。搜索+加剪枝。先从大到小选,然后加入剩余的能全部加入就全部加入,不再进行搜索。

#7-T2:DP,用单调链表维护决策单调性。【有可能被卡,So可以用线段树维护决策单调性】

#7-T3:数论。从(a,b)走到(m,n)共有C(m-a,m+n-a-b)种方案,由此可推得“总路径数=总方案数-路径相交方案数=C(m,m+n)*C(m,m+q-p)-C(m,m+q)*C(m,m+n-q)”接着高精度Mod?吃我大乘法逆元啦!

#8-T1:对于每个魔法属性将树分成两个子点集,然后判断每对点在每个属性中是否同属于一个点集。

#8-T2:先把无根树转成有根树。然后不断枚举边,求经过这条边的所有路径并统计,最后删边。

#8-T3:对于每次剩余的操作距离查找最小的字母,然后将此字母移动至最前,O(n^2)。用字母链表+树状数组优化,O(n*logn)。

#9-T1:Ans=Sum(φ(i))(1<=i<=n),然后线性筛。

#9-T2:先贪心选取最优砖块,然后倍增。

#9-T3:线段树维护s[i]=k[i]-k[i-1],然后对于每次修改只需将s[i..j]+1,s[j+1]-=(j-i+1),对于每次询问只需查询Sum(s[1..i])。

#10-T1:博弈论+记忆。

#10-T2:先求出往左右上下的长度,然后每条对角线分别用树状数组优化处理。

#10-T3:状压DP+快速矩阵幂【NOIP怎么可能考这种题?】【于是成残念#1】

#11-T1:先假设所有作业都是通过喝咖啡秒速完成的,然后一小时一小时慢慢节省性价比最高的咖啡。

#11-T2:从Max(m[i])至1枚举k,并求出n个数中k的倍数的个数。

#11-T3:用SPFA+SLF优化(若d[i]<=d[head]则放在队头)+LLL优化(若d[head]>=AveD则移到队尾并重新判断)求起点与终点至各个点的最短路,然后判断每条有向边是否在最短路网中,最后用拓扑排序求某条边是否是最短路网的割边。

#12-T1:斐波那契数列分裂题型。求出最大方案并进行分裂。

#12-T2:对于每次操作(x,y)g[x]++,然后对于相同属性的分身的话按深度从大到小并g[lca(x1,x2)]--,然后每个点的答案就是以它为根的子树的SumG。

#12-T3:正解不会。。。。

#13-T1:求树上任意两点的路径是否经过某条边。先DFS序处理,然后对于每次询问判断边底下的子树是否包含起点和终点。

#13-T2:KMP的失配函数的妙用。

#13-T3:DP套DP套DP。

NOIP一系列模拟赛小结的更多相关文章

  1. NOIP前模拟赛总结

    NOIP前模拟赛总结 from 2018.10.7 to ??? Date Name Score(Rank) Problems 2018.10.7 McfXH AK Contest 42(?) 期望得 ...

  2. 模拟赛小结:2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)

    比赛链接:传送门 本场我们队过的题感觉算法都挺简单的,不知道为啥做的时候感觉没有很顺利. 封榜后7题,罚时1015.第一次模拟赛金,虽然是北欧的区域赛,但还是有点开心的. Problem B Best ...

  3. 模拟赛小结:2017 China Collegiate Programming Contest Final (CCPC-Final 2017)

    比赛链接:传送门 前期大顺风,2:30金区中游.后期开题乏力,掉到银尾.4:59绝杀I,但罚时太高卡在银首. Problem A - Dogs and Cages 00:09:45 (+) Solve ...

  4. 模拟赛小结:2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest

    2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest 2019年10月11日 15:35-20:35(Solved 8,Penalty 675 ...

  5. 模拟赛小结:2014-2015 ACM-ICPC, NEERC, Southern Subregional Contest

    2014-2015 ACM-ICPC, NEERC, Southern Subregional Contest 2019年10月11日 15:30-20:30(Solved 6,Penalty 740 ...

  6. 模拟赛小结:2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018)

    比赛链接:传送门 两个半小时的时候横扫了铜.银区的所有题,签到成功混进金区.奈何后面没能开出新的题. 最后一个小时的时候xk灵机一动想出了D题的做法,讨论了一波感觉可行,赶紧去敲.结束前2分钟终于过了 ...

  7. NOIP欢乐模拟赛 T1 解题报告

    小澳的方阵 (matrix.cpp/c/pas) [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力钻研,发现秦始皇布置兵马俑 ...

  8. 模拟赛小结:The 2019 China Collegiate Programming Contest Harbin Site

    比赛链接:传送门 上半场5题,下半场疯狂挂机,然后又是差一题金,万年银首也太难受了. (每次银首都会想起前队友的灵魂拷问:你们队练习的时候进金区的次数多不多啊?) Problem J. Justify ...

  9. 模拟赛小结:2019-2020 ICPC, Asia Jakarta Regional Contest

    比赛链接:传送门 离金最近的一次?,lh大佬carry场. Problem A. Copying Homework 00:17(+) Solved by Dancepted 签到,读题有点慢了.而且配 ...

随机推荐

  1. 【排序】插入排序:最稳定:时间复杂度O(n^2)

    想象着自己在玩扑克的时候抓牌,每抓到一张牌,按照从小到大的顺序排序. 如果第二张的点数小于第一张,就交换这两张牌,默认每次抓牌之前,前面的已经排好序了. 再来一张牌,与第二张比较,如果小于第二张,交换 ...

  2. 为 Azure 应用服务配置连续部署工作流

    本快速入门介绍了如何将应用服务 GitHub 集成以实现连续部署工作流.在本教程中完成的所有操作均符合1元试用条件. 本快速入门介绍了如何将应用服务 GitHub 集成以实现连续部署工作流.在本教程中 ...

  3. java.util.concurrent中的常用组件

    一. CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执 ...

  4. Linux if 命令判断条件总结

    Linux if 命令判断条件总结Linux if命令 关于文件属性的判断式 -a 如果文件存在 -b 如果文件存在,且该文件是区域设备文件 -c 当file存在并且是字符设备文件时返回真 -d 当p ...

  5. Android学习总结(十七) ———— Handler 的使用

    一.基本概念  handler通俗一点讲就是用来在各个线程之间发送数据的处理对象.在任何线程中,只要获得了另一个线程的handler,则可以通过  handler.sendMessage(messag ...

  6. VMware网络适配器设置

    VMware网络连接主要有三种方式,分别是桥接,NAT和Host-only. 桥接:直接使用的是真实机的物理网卡(有线网卡,无线网卡),会占用局域网中的一个IP,因此在设置虚拟机IP时要避免与同网段的 ...

  7. 粗谈Android未来前景

    Andriod作为智能手机机兴起的操作系统,有着非同寻常的地位.而相对于他的竞争对手ios,两大系统各有自身的优缺点,有太多的不同点,但相比较用户体验来说ios略胜一筹. Android系统极具开发性 ...

  8. javascript“类”与继承总结和回顾

    Javascipt语法不支持"类"(class)[es6已经支持],但是有模拟类的方法.今天我主要谈谈Javascipt中模拟“类”的方法及js中继承的总结和回顾. js中实现“类 ...

  9. PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15)

    PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15)    http://www.patest.cn/contests/pat-b-practise/10 ...

  10. vuejs 的错误代码,有助于理解

    1.vuejs 的双向绑定理解 2.嵌套复杂对象的使用. * 1. 分割都是, 2. json 中分割都是; 4. v-bind:value="param" 括号内的就是 vuej ...