Warning: session_start(): open(/tmp/sess_91f127cbe5267b67c4736f2656688dfe, 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

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:running_chicken:2020_summer_week5_report [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:running_chicken:2020_summer_week5_report

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:running_chicken:2020_summer_week5_report [2020/08/14 13:35]
yyxzhj
2020-2021:teams:running_chicken:2020_summer_week5_report [2020/08/18 17:58] (当前版本)
yyxzhj
行 21: 行 21:
 2020牛客暑期多校训练营(第四场)CJY E/J XX G ZRX **I** 2020牛客暑期多校训练营(第四场)CJY E/J XX G ZRX **I**
  
-2020牛客暑期多校训练营(第五场)CJY G/J ZRX A/H+2020牛客暑期多校训练营(第五场)CJY G/J ZRX **A**/**H**
  
-2020牛客暑期多校训练营(第六场)CJY ​XX I ZRX F+2020牛客暑期多校训练营(第六场)CJY ​XX I ZRX D
  
-2020牛客暑期多校训练营(第七场)CJY E XX F ZRX A/C+2020牛客暑期多校训练营(第七场)CJY E XX **F** ZRX A/**C**
  
-2020牛客暑期多校训练营(第八场)CJY D XX J ZRX B/C+2020牛客暑期多校训练营(第八场)CJY ​**D** XX J ZRX B/C
  
-2020牛客暑期多校训练营(第九场)CJY **H** XX G ZRX L+2020牛客暑期多校训练营(第九场)CJY **H** XX **G** ZRX L
  
-2020牛客暑期多校训练营(第十场)CJY G/H XX B/**D** ZRX F+2020牛客暑期多校训练营(第十场)CJY G/**H** XX B/**D** ZRX F
  
 2020加赛1 CJY A/E XX B/C ZRX D 2020加赛1 CJY A/E XX B/C ZRX D
行 37: 行 37:
 2020加赛2 CJY E 2020加赛2 CJY E
  
-2015ICPC北京 CJY **C** XX D ZRX E (BFH)+2015ICPC北京 CJY **C** XX **D** ZRX E (BFH)
  
 =====CJY===== =====CJY=====
  
 ====专题==== ====专题====
-可撤销并查集+
 ====比赛==== ====比赛====
-2020.8.Codeforces Round #660+2020.08.12 AtCoder Grand Contest 047 
 + 
 +2020.08.13 ​Codeforces Round #664
 ====题目==== ====题目====
  
-2020牛客多校训练营(第七场)I/​J+2015ICPC Beijing C D
  
-2020牛客多校训练营(第场)A+2020牛客多校训练营(第场)D H
  
-2019台大选拔赛 B/C 
  
 =====ZRX===== =====ZRX=====
行 121: 行 122:
 =====cjy===== =====cjy=====
  
- +2020牛客多校训练营(第场)D
-2020牛客多校训练营(第场)A+
  
 **题意** **题意**
  
-有n个粉丝,m个球员,每个球员都有若干粉丝,个粉丝会看另外一个球员比赛要不是他说这球员的粉丝,要是它喜欢球员有粉丝会 +一棵树,n个,每一条边只能是编号在$[L_i,​R_i]$内人通过问每人在通过超过$K_i$($K_i\leq1$)条自己不能通过边所能到达点的数量
- +
-看这个球员比赛,求最少选几个球员就可以使所有人都去看比赛+
  
 **思路**: **思路**:
  
-显然个是和连通块有关的问题,如果有一个粉丝是孤立的连通块,那么答案就-1否则答案就通块个数减去孤立孤立球员的个数。+容易想到用线段树维护加边,样就转化成在线段树dfs,用可撤销并查集来维护连通块的一个问题。 
 + 
 +当然K=0就已经完美解决了我们发现K=1时要求是这个连通块往外一步的点的个数第一反应去维护这个值发现做不到,于我们意识到 
 + 
 +要利用树的性质。 
 + 
 +考虑每个联通块维护除根节点向上以外的所有不属于这连通块的一部点的量,发现这个是可以维护,只要维护每连通块的最高节点就好
  
-维护图联通块的方法,采用LCT,或者离线可撤销并查集对询问建线段树,把加边删边看成区间加边,然后把边放在线段树上,对这个线段树跑+
  
-dfs可撤销并查集维护连通性+再利栈去维护修改操作就可了
  
 **评论**: **评论**:
  
-做法比较神奇,这个从对询问操作的考虑入手的+可撤销并查集一个好东西,就看你会不会用
  
 =====XX===== =====XX=====
  
-====POI2007 odw_weight 砝码====+====party====
  
-来源:POI 2007+来源:CF 906 C 
  
-算法:**贪心**、**进制拆分**+算法:**状压DP**
  
-**题意**:搬运n个砝码m个容器任何两个砝码都有一个特征,他中总一个的重量是另外一个的整数倍,当然他们也可能($1 \le n, m \le 100000$) 。$w_{i}$,表示每个容器能够装的最大质量。($1 \le w_{i} \le 1000000000 $)。 $m_{j}$,表示每个砝码质量($\le m_{j} \le 1000000000$)。求最多可以带走多少个砝码。+**题意**:n个,m条信息,每条信息为(x,​ y)表示x和y认识每次操作可以选取一个他的朋友互认识求使得所有人相互认识的最少操作次数以及对应方案(n$\leq$22)
  
  
 **思路**: **思路**:
    
-条件:任意两个砝码中总有一个的重量另外一个的整数倍。设最小的为x,​则次小的可以写成xy,第三小的可以写成xyz,​……以此类推。因此最多有$log_{2} max_{1 \le i \le n} m_{i}$个本质不同的砝码。+操作的实际什么?
  
-思考贪心策略+将一个的所有朋友合并到同一个集合中,这个集合中的元素相互认识。
  
-小的砝码必然要优先满足。如果一个容器能装下一个重量为kx砝码那么优先满足x的砝码然后再满足kx的砝码+操作即是集合合并 
 + 
 +顺序不影响结果! 
 + 
 +对于a, b两次操作,如果先a后b和先b后a的结果是。 
 + 
 +所以动态规划时只需要记录集合中有哪些元素即可。 
 + 
 +同时我们也可以知道同一个元素最多只会被操作一次
  
-进制拆分,按照砝码重量将容器的容积进行拆分。 
  
-例如:砝码 2 4 12, 容器18 = 12 * 1 + 4 * 1 + 2 * 1,13 = 12 * 1 + 剩下的不要了。 
  
 **实现** **实现**
  
-找出本质不同砝码,将所有容器的容量按照这些砝码进行拆分拆分以后统计所有容器拆出来每一的数从小到大枚举砝码如果这一位有,那么这一位数量-1, 否则向高位借+预处理每一个点朋友 
 + 
 +初始,每一个点朋友集合的操作为1 
 + 
 +状态S表示现有的集合。 
 + 
 +枚举元素i, 操作i到达新状态S'​。 
 + 
 +DP过程中记录方案 
 + 
 +注意特判答案为0的情况 
 + 
 +[[http://​codeforces.com/​problemset/​problem/​906/​C|题目]] 
 + 
 +[[http://​codeforces.com/​contest/​906/​submission/​88668069|代码]] 
 + 
 +**评论**:
  
-[[https://​www.luogu.com.cn/​problem/​P3462|题目]]+状压DP的一种变式。
  
-代码很简单,就不放代码了 
  
-P.S.少见的贪心题目,进制拆分的思想很巧妙。 
  
  
2020-2021/teams/running_chicken/2020_summer_week5_report.1597383357.txt.gz · 最后更改: 2020/08/14 13:35 由 yyxzhj