摘要:
要点 一开始dp然后码力太辣鸡并且算法带假于是调了很久一交还WA在28…… 吐槽完毕。后来想拿栈优化dp时发现其实完全不需要dp,贪心选取即可,当前的不兼容就干脆不要它了,结果不会变差。然后想要什么就预处理什么即可。 C++ include include include include inclu 阅读全文
摘要:
要点 主要学到的东西:一个序列染色,相邻不染同色,恰用$j$种颜色的 1.模式数 、 2.方案数 、 3.具体染色数 。 从大的思路上来讲:先dp预处理出每一层的模式数:$f[i][j]$表示$i$个位置恰染$j$个颜色的 模式数 ,然后再dp出各层之间的转移:$dp[i][j]$表示$i$层恰染$ 阅读全文
摘要:
要点 结论:如果坐标系一堆点两两对称于某一重心,则排序后第1个和第n个为一对,以此类推。 枚举所有可能的重心点并check。因为隐藏的点不超过k个,所以点1~k+1都可能跟第n个匹配。对右侧同样适用,因此枚举的点是$k^2$的。内部只要两边开始扫描,如果匹配不是当前重心则说明他俩不是一对,则加一个虚 阅读全文
摘要:
要点 跟大家打acm的策略一样,为了做更多的题数肯定做最简单的题目,为了罚时更少肯定从易到难做 虽然有个12:00之限不同于往常比赛,但细想还是要从易到难贪:做这些题的总时间肯定是不变的,只是顺序可变,也就是最后交题的罚时是固定的。12点以后是跟正常比赛一样的,这样如果把简单的题换到12点以后反而有 阅读全文
摘要:
要点 我在想贪心是对的那要二分图何用,自己的想法是:二分图最开始并不知道怎么匹配最好所以就按输入顺序连了,之后慢慢修改;而这道匹配也成对匹配但从一开始你就可以知道选哪个最划算,就是贪心地选最小的。不必考虑有没有可能最优答案是这个人不穿而让给别人,因为这俩人谁穿都一样,贡献都是1. 阅读全文
摘要:
要点 可以贪心选数量最多的那三个构造 二分的话里面的check我不太会。正解是既然当前答案为$k$个,那每个物品最多只会出现$k$次,多余的丢掉,剩下的总数如果大于等于$3k$则true。最后输出答案时也是小小技巧吧,用${1,1+k,1+2k}$组成一组,因为多于$k$个的都删了所以这三个一定不同 阅读全文
摘要:
要点 题意读好久。大概这样理解:每个时间点按顺序收到序号1~n的卡片,只有收过的卡片才能发给别人并且主人公会发在他心中优先级最高的。由于主人公可以在任何时间给朋友发卡片,最后输出(说得很绕但等价于)1~n号朋友最好可以得到什么类型的卡片。 枚举时间点并看当前主角的最大优先级卡片是什么并给大家发,然后 阅读全文