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普转提测试总结的主要内容,如果未能解决你的问题,请参考以下文章