用户工具

站点工具


2020-2021:teams:die_java:front_page_summertrain7

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:die_java:front_page_summertrain7 [2020/07/31 16:42]
fyhssgss [训练结果]
2020-2021:teams:die_java:front_page_summertrain7 [2020/07/31 17:06] (当前版本)
fyhssgss [训练实况]
行 5: 行 5:
 ===== 训练结果 ===== ===== 训练结果 =====
  
-  * 时间:''​2020-07-27 12:00~17:00''​ +  * 时间:​2020-07-27 12:​00~17:​00 
-  * rank:''​36/1019''​ +  * rank:​36/​1019 
-  * 完成情况:''​7/8/11''​+  * 完成情况:7/​8/​11
  
 ===== 题解 ===== ===== 题解 =====
行 27: 行 27:
 但是!!!为什么那么操作就一定是最优的?出题人也表示不知道,所以这可能是一个错题。 但是!!!为什么那么操作就一定是最优的?出题人也表示不知道,所以这可能是一个错题。
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​bits/​stdc++.h>​ #​include<​bits/​stdc++.h>​
 using namespace std; using namespace std;
行 82: 行 82:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== B.Binary Vector ===== ===== B.Binary Vector =====
  
行 93: 行 93:
 对于每加到第$i$个向量时,有$2^n-2^i$个向量线性无关,每次乘上概率$P = \frac{2^n-2^i}{2^n}$即可 对于每加到第$i$个向量时,有$2^n-2^i$个向量线性无关,每次乘上概率$P = \frac{2^n-2^i}{2^n}$即可
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​algorithm>​ #​include<​algorithm>​
 #​include<​iostream>​ #​include<​iostream>​
行 142: 行 142:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== C.Combination of Physics and Maths ===== ===== C.Combination of Physics and Maths =====
  
行 153: 行 153:
 答案肯定只有一列,而且要尽可能多的往上选,所以我们枚举每个点,把上面的全选了,求最大值即可。 答案肯定只有一列,而且要尽可能多的往上选,所以我们枚举每个点,把上面的全选了,求最大值即可。
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​iostream>​ #​include<​iostream>​
 #​include<​cstdio>​ #​include<​cstdio>​
行 190: 行 190:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== E.Easy Construction ===== ===== E.Easy Construction =====
  
行 205: 行 205:
 偶数:8 4 1 7 2 6 3 5 偶数:8 4 1 7 2 6 3 5
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​bits/​stdc++.h>​ #​include<​bits/​stdc++.h>​
 using namespace std; using namespace std;
行 245: 行 245:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== G.Grid Coloring ===== ===== G.Grid Coloring =====
  
行 264: 行 264:
 注意特判$k$和$n$等于$1$的情况! 注意特判$k$和$n$等于$1$的情况!
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​algorithm>​ #​include<​algorithm>​
 #​include<​iostream>​ #​include<​iostream>​
行 393: 行 393:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== H.Harmony Pairs ===== ===== H.Harmony Pairs =====
  
行 404: 行 404:
 $ f[i][j][1/​0]$ 表示从 $i$ 位往后所有位上和为 $j$ 且高位是否有限制的数字的数目,dp的时候当前为从大往小dp并同时用树状数组统计答案。 $ f[i][j][1/​0]$ 表示从 $i$ 位往后所有位上和为 $j$ 且高位是否有限制的数字的数目,dp的时候当前为从大往小dp并同时用树状数组统计答案。
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​iostream>​ #​include<​iostream>​
 #​include<​cstdio>​ #​include<​cstdio>​
行 510: 行 510:
     return 0;     return 0;
 }        }       
-</​code></​hideen>+</​code></​hidden>
 ===== J.Josephus Transform ===== ===== J.Josephus Transform =====
  
行 521: 行 521:
 对于每一个操作,先用线段树在$O(nlogn)$时间内快速模拟把$k$约瑟夫环的删除序列做出来,这个显然是一个置换,然后将置换倍增即可。 对于每一个操作,先用线段树在$O(nlogn)$时间内快速模拟把$k$约瑟夫环的删除序列做出来,这个显然是一个置换,然后将置换倍增即可。
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​bits/​stdc++.h>​ #​include<​bits/​stdc++.h>​
 using namespace std; using namespace std;
行 609: 行 609:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== K.K-Bag ===== ===== K.K-Bag =====
  
行 624: 行 624:
 2、$k \leq n$这个时候序列由中间若干个完整的排列加上左右不完整的排列,同样先记录左右最远延伸距离,同时用$dp$计算每个位置为结束位置时中间完整排列的最长距离,判一下配合左右能否覆盖整个序列即可 2、$k \leq n$这个时候序列由中间若干个完整的排列加上左右不完整的排列,同样先记录左右最远延伸距离,同时用$dp$计算每个位置为结束位置时中间完整排列的最长距离,判一下配合左右能否覆盖整个序列即可
  
-<hidden><代码>+<hidden 代码><​code cpp>
 #​include<​algorithm>​ #​include<​algorithm>​
 #​include<​iostream>​ #​include<​iostream>​
行 698: 行 698:
     return 0;     return 0;
 } }
-</​code></​hideen>+</​code></​hidden>
 ===== 训练实况 ===== ===== 训练实况 =====
  
-开局fyh看**E**,​wxg和hxm看**K**, 12:33 fyh过**E** 之前hxm写**K** wxg看**C** 12:39 hxm过**K** 12:46 wxg过**C** 12:46 fyhhxm发现**B**的规律,直接写结论 12:59 hxm过**B**,一起想**G**,**H** 之间:hxm想出**G**的构造,wxg在写**H** hxm和fyh调**G** 15:27 发现bug hxm过**G** 15:46 wxg过**H** 16:00 **A**放弃,想出**J** 16:39 wxg调过**J**+开局fyh看**E**,​wxg和hxm看**K**, ​ 
 + 
 +12:33 fyh过**E** 之前hxm写**K** wxg看**C** ​ 
 + 
 +12:39 hxm过**K** ​ 
 + 
 +12:46 wxg过**C** ​ 
 + 
 +12:46 fyhhxm发现**B**的规律,直接写结论 ​ 
 + 
 +12:59 hxm过**B**,一起想**G**,**H** ​ 
 + 
 +之间:hxm想出**G**的构造,wxg在写**H** hxm和fyh调**G** ​ 
 + 
 +15:27 发现bug hxm过**G** ​ 
 + 
 +15:46 wxg过**H** ​ 
 + 
 +16:00 **A**放弃,想出**J** 16:39 wxg调过**J** 
  
 ===== 训练总结 ===== ===== 训练总结 =====
行 709: 行 728:
 hxm:​本场前期过题速度较快,但中期两道题做的较慢,导致最后罚时并不是很理想,尤其是$G$题没有注意特殊情况,花费了很多时间与罚时 hxm:​本场前期过题速度较快,但中期两道题做的较慢,导致最后罚时并不是很理想,尤其是$G$题没有注意特殊情况,花费了很多时间与罚时
  
-fyh:+fyh:最后写J的时候倍增的数组开错,导致又RE了一发。。这也是罚时增加的原因。以后看队友代码的时候要多问。
  
2020-2021/teams/die_java/front_page_summertrain7.1596184925.txt.gz · 最后更改: 2020/07/31 16:42 由 fyhssgss