NOIP一系列模拟赛小结

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。

 

转载于:https://www.cnblogs.com/NanoApe/p/4396733.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值