2021.06.30普转提测试总结

Posted zero_orez6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021.06.30普转提测试总结相关的知识,希望对你有一定的参考价值。

T1社交距离

刚开始的思路就是二分,但由于数据范围是 1 0 18 10^{18} 1018,所以开始思考如何优化二分范围。

大致思路是:记录每次区间的长度,其中的最小值为L,而R的最大范围为区间右端点的最大值。

(最后的最后发现是自己想多了,就是 1 1 1~ 1 0 18 10^{18} 1018…)

T2 奶牛飞盘队

用一个数组d[i]记录前若干个数中所构成的和对f取模后等于i的方案数,每次读入某一个数,从0~f-1循环一遍更新方案数,最后在d[a[i]%f]上++。

在考场上有错未找出来,之后订正是重构了一遍a了。

T3 养猪

二维dp,f[i][j]表示前i天,卖出j头猪所获得的最大收益,思考可得,将天数从后向前循环可省略一层。

for(int i=1;i<=n;i++)
	{
		for(int j=f;j>=1;j--)
		{
			ff[j]=max(ff[j],ff[j-1]+max(0,b[i].a-(j-1)*b[i].p));
			maxx=max(maxx,ff[j]);
		}
	}

T4 时间线

在考场时试想过用最长路来写,但对于源节点的处理不够恰当,无奈写了个暴力。

考完试后经同学启发,将所有节点先同时连向同一个源节点,边权值为s[i],最后从这个节点出发即可,剩下的就是跑一遍每个节点的最长路即可(因为要满足所有约束条件,所以要在m的范围内尽可能的长)

T5 数字变换

考场上并未观察出丝毫图论的痕迹,算是毫无思路。(明明之前写过)

考完以后,在老师的讲解下发现质数约束和一定为1,剩下的按照变化条件连边构建若干个有向图,最后的n个数为n个节点,构成一个"森林",因为要求最多的变化步数,也就是所有树中最长的直径了。

T6 牛奶管道

按照平常的最短路跑一遍,将更新值的条件和所更新的内容进行修改,本人是用spfa跑的,但dij按照题目要求应该不会在环中不断更新答案有时间试试

总结

本人太菜,其实有能力拿到更高的分数,但在考场上debug却de不出来也算是自己能力的不足吧,在考场上不能够很好的把题目代入所学的算法中,还需锻炼…

下次一定 每次都这么说

以上是关于2021.06.30普转提测试总结的主要内容,如果未能解决你的问题,请参考以下文章

普转提——有趣的数,欢乐ABC,打游戏

2021.06.30 学习总结

python常用代码片段总结

BootStrap有用代码片段(持续总结)

BootStrap实用代码片段(持续总结)

回归 | js实用代码片段的封装与总结(持续更新中...)