Warning: session_start(): open(/tmp/sess_900c3ff633b07623f697cb87d6c44833, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430
Writing /data/wiki/data/cache/4/43994124a9168f34c03db2ff7cd35d94.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:acm_life_from_zero:8.8-8.14 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:acm_life_from_zero:8.8-8.14

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:acm_life_from_zero:8.8-8.14 [2020/08/13 14:41]
lak [李元恺]
2020-2021:teams:acm_life_from_zero:8.8-8.14 [2020/08/14 18:12] (当前版本)
lak [姜维翰]
行 12: 行 12:
  
 ====== 姜维翰 ====== ====== 姜维翰 ======
-===== 比赛 ===== +小学期咕咕咕
-atcoder abc 174+
 ====== 袁熙 ====== ====== 袁熙 ======
 +=====比赛=====
 +[[https://​codeforces.com/​contest/​1395|Codeforces Round #664 (Div. 2)]] \\
 +
 +[[https://​codeforces.com/​contest/​1391|Codeforces Round #663 (Div. 2)]] 
  
-===== 比赛 ===== 
-cf round 661 
-  
-  
 ====== 本周推荐 ====== ====== 本周推荐 ======
 ====== 李元恺 ====== ====== 李元恺 ======
 +[[https://​codeforces.com/​contest/​1394/​problem/​B|CF1394B]]
  
-====== 袁熙 ====== +tag:图论、搜索
-cf 1380e Inverse Genealogy+
  
-tag构造 分治+题意一张n点m边有向由边权图(n,​m~1e5),每个点最多k条边($k \leq 9$),​对于一个长度为k的数组{$c_k$},满足$c_i \leq i$,定义图对其的转移:一个点,若出度为x,则走边权第$c_x$小的出边。求有多少个${c_k}$满足任意一个点出发经过有限步可以返回出发点。
  
-题意:对给定的n,​k,构造颗完全二叉树使这棵树的n节点中k个点满足其一个儿子所在子树大小另一个的至少+思路:对一个合法转移个点都在一个简单环内,即每个点的入度都必须为1,于对于每任意个入边,可以得到一个四元组$(c_i,​c_j,​v_i,​v_j)$表示$c_i = v_i,c_j = v_j$不能同时发生。预处理一下所有的四元组,然后O(k!k)暴搜所有解判断是否合法即可。
  
-题解+comment:​一道解法众多的,上面只是一种可以通过的法。 
 +====== 袁熙 ====== 
 +[[https://​codeforces.com/​contest/​1393/​problem/​E1|cf1393E Twilight and Ancient Scroll]]
  
-观察一下后可以发现符合题意的树的这些性质:+tag:hash,dp
  
-1.有奇数且k大于(n-3)/​2+题意:给n词构成的串词之间按字典序降,可以选择对每个词进行一次操作:在某个字母后添加一个字母之后选择某个词。之后,选择一个词,撤销此操作。问操作后可能产生的串的不同版本数量
  
-2.当且仅当2^x=n+1,可以有k=0+思路:​考虑dp时,对相邻的两个词$S_1,​S_2$,在题意的操作下分别产生$|S_1|+1,|S_2|+1$个子串。如果对子串排序后,对$S_2$的每个子串,可以二分找到合法的$S_1$的子串数量,完成转移。为了在转移时找到合法子串的数量,还需要对每个词hash一下。
  
-3.(n,​k)可以向(n-2,​k-1)转化 +comment:补之前的题(  ​概是常规dp
- +
-又可以发现,k=1时,只要n+1≠2^x,​按顺序从根向下在每层放满点就可以满足要求,问题变成怎么放点能使(n-2*k+2,​1)转变到(n,​k) +
- +
-对n-2*k+2≠2^x的情况,我们要在不破坏之前结果情况下构造。由(n-2*k+2,​1)的构造可以知道满足意的点所在的位置,在维护之前小关系的情况下放点。 +
-n-2*k+2=2^x时,不存在(n-2*k+2,​1)的构造,可以先提前留下几个点,然后当做上面的情况继续构造,最后将这些点放在不影响结果的位置 +
- +
-comment:有点麻烦的构造题。。没有看到能比较好的做最后一步转化方法+
  
  
 ====== 姜维翰 ====== ====== 姜维翰 ======
-cf 1382e mastermind 
- 
-tag:贪心 
- 
-题意:给n,​x,​y和一个长n的数组,数组元素的大小为1到n+1间的整数,求另一个数组,元素大小同样在1到n+1,两个数组元素相同的位置有x个,重新排列后两个数组最多有y个相同位置的元素相同 
- 
-题解:首先对出现的元素进行计数,显然要把x的指标优先给数量多的元素 
- 
-这样还剩下n-x个元素,对于这n-x个元素,两个数组在不重新排列前不能有匹配,对于一某种元素c,假设它有k个,如果2*k>​n-x,那么必然有一部分元素要变成其它的元素,n个位置有n+1种元素,所以这个用来替换的元素是一定存在的,而如果出现这样的情况,n-x这一部分在重排之后至多能匹配2*(n-x-k)个,也就是要2*(n-x-k)>​=y-x,化简得2*n-x-y>​=2*k,不满足则无解 
- 
-对于有解的情况就比较简单了,对n-x这部分的元素排序,然后旋转(n-x)/​2之后放进去,再把n-y个位置的元素换成不存在过的元素就可以了 
  
-comment:很妙的题,尤其是对于无解的判断 
2020-2021/teams/acm_life_from_zero/8.8-8.14.1597300876.txt.gz · 最后更改: 2020/08/13 14:41 由 lak