ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022 CCPC 热身赛

2022-09-13 14:01:22  阅读:174  来源: 互联网

标签:女生 答案 CCPC 枚举 2022 男生 匹配 往下走 热身赛


A 简单的排序问题

B 有2n张牌,每张牌有一个数字,1到n每个数字出现2次,这些牌被分成k堆,每次能选两个不同的堆,从堆顶拿走数字相同的两张牌,不能操作者输,告诉你每个堆的牌的排列情况,问先手胜还是后手胜

最终结果唯一 直接模拟即可。

C 给定数组C,$C_i=$0或1,问你有多少个数组对(A,B),满足 \(A_i-B_i\le C_i\) 其中A,B分别是n的一个排列。\(n\le 10^6\)

直接的有一个dp的做法 不过很繁琐。考虑枚举\(A_i=B_i\)的数量又因为其中位置到底有多少个对应\(C_i=0\)还应该枚举导致复杂度过高。

不妨枚举\(A_i=B_i+1\) 然后观察剩余数字有且只有一种配对方式 这样只是一个简单的排列问题。前一部分是一个选出与排列问题 可以O(n)计算。

D 一颗树,有边权 ,问树上一条路径,可以通过一个点或一个边多次,答案为 \(\sum\limits_{i=1}^{n-1}|cnt_i-w_i|\) \(cnt_i\)表示第i条边经过的次数,问答案的最小值。

直接贪心 可以发现由于树的结构与边权不同所以贪心很难具有全局最优性。

考虑dp 虽然不知道起点在哪 但是我们可以在dp的过程中对每个点处求答案 即枚举答案的路径会经过这个点 只要经过了这个点 这个点就可以求出答案的路径。

具体的 可以设 \(f_{x,0}\)表示在x这个节点处不往下走的最小代价 \(f_{x,1}\)表示往下走不回来的最小代价。\(f_{x,2}\)表示往下走回来的最小代价。

\(f_{x,4}\)表示x子树内已经有两个往下走不会来的路径的最小值。\(f_{x,5}\)表示x子树内有一条往下走了一条回到x的路径的最小代价。

根据上述状态容易知道答案可以被求出。

D m个座位,编号为1到m,n组人,第i组人有\(a_i\)个,能坐编号为\(b_i\)的倍数的座位,一个座位最多坐一个人,问全部人能不能坐下。\(n\le 20\)

贪心可不能解决二分图是否具有完备匹配的问题。

n只有20显然是状压 本题是一个赤裸的 霍尔定理的题目 即n的任意子集的候选集合大于子集大小 就一定存在完备匹配。

必要性非常显然。充分性:归纳法 设<n都成立 当=n时 考虑先加入的那个人 是否使得候选集合变大。

下面我称初始子集的元素为男生 候选集合的元素为女生。

如果变大则显然成立。如果不变考虑当前空闲的女生(因为男生有n个 女生>=n个 男生只和n-1个女生匹配了 所以还有空缺) 所连接的若干男生。

存在一名男生 若是让出当前匹配 这个时候出现了增广路 则匹配成功 若未出现增广路则说明将这个男生已经配对的女生删掉其他形成了一个集合 这个配对的女生不影响后续配对。

而后面剩下的n-1个男生是子问题 故n个人情况成立。

这道题就是枚举每个集合 算出这个集合能占多少人判断一下即可。

标签:女生,答案,CCPC,枚举,2022,男生,匹配,往下走,热身赛
来源: https://www.cnblogs.com/chdy/p/16688886.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有