首页 > 其他 > 详细

记近半年来最失败的一次考试——正睿OI成都附加赛

时间:2019-10-07 21:30:07      阅读:100      评论:0      收藏:0      [点我收藏+]

一场考试让我成了自( xin )闭( tai )症( bao )患( zha )者

说起来这次的题还真是让人丧心病狂,第一题只有8个人AC,最高分没上200分,这真的是csp-s模拟赛吗

T1总结:

我总结出的性质:

  1. 最优的一对CP不一定在全局最优解中。
  2. 若不考虑可攻可受的人的存在,本图就是一张二分图,可以用费用流来做。(然而无法解决可攻可受的问题,因此是指数级别的复杂度——唯一能想到的方法)
  3. 若选中了A,与A最优的CP不一定会被选中。

得出的结论是贪心是不可行的(想了1个多小时贪心,还是不知道怎么贪)

这种时候就应该悬崖勒马,考虑动态规划,因为如果方向错了是永远都想不出来的。

我未总结出的性质:

  1. 先假设所有人的熟练度都不一样,那么按照熟练度从小到大排序之后,组长一定在组员的后面,然后考虑前i个人。这样做的好处在于使得DP有了一定的拓扑序,不会出现DP到了后面还要去前面选人的情况,把复杂度由指数级变为多项式级。
  2. 我们考虑的是前i个人,故可能出现选了组员没选组长的中间态,然而选了组长没选组员的情况是不存在的,因为排序过后一定是先选组员再选组长。可以设f[i,j,k]表示前i个人中有j对CP,k个单身组员的所有方案的集合的最小代价。
  3. DP的正确性:我们只关心选了多少对CP,而不关心具体选了哪些CP,对于2n个可以组CP的人,我们只关心他们总共的花费,而不关心具体是谁和谁组CP。事实上,若已经选了x个组员,要选一个组长,那么组长和任何一个组员组CP都是可以的,因为此时组长的熟练度一定是大于组员的,后面的组长的熟练度也一定大于当前所有组员,因此可以随便换妻,然而事实上,换不换都是一样的
  4. 针对熟练度相同的情况,顺序是 受->可攻可受->攻。因为组员要在组长之前被选,对于可攻可受的人来收,谁先选都一样,对于前面的他是组长,对于后面的他是组员(如果是小于的话则先后顺序无所谓)
  5. 若2k>n,则一定无解,故n>=2k,由于2kk<=n*k<=1e5,故算法复杂度\(O(1e5*\sqrt[1e5])\)

记近半年来最失败的一次考试——正睿OI成都附加赛

原文:https://www.cnblogs.com/White-star/p/11632171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!