Warning: session_start(): open(/tmp/sess_24d3425b86e1ebba01801a2d9488fa78, 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:manespace:codeforces_round_645_div2 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:manespace:codeforces_round_645_div2

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
2020-2021:teams:manespace:codeforces_round_645_div2 [2020/05/29 22:50]
iuiou
2020-2021:teams:manespace:codeforces_round_645_div2 [2020/06/02 23:52] (当前版本)
iuiou [C]
行 40: 行 40:
  
 ===== C ===== ===== C =====
-题意:有一个三角型排列为左图所示,定义一次移动只能从$(i,​j)$到$(i+1,​j)$或者从$(i,​j)$到$(i,​j+1)$,问若将该三角形阵列的$(i_1,​j_1)$,​点走到$(i_2,​j_2)中途经过的所有点的值全部加在一起,有多少种不同的答案?{{:​2020-2021:​teams:​manespace:​1j_p2nm_r_f_94uoq_1b_b.png?​200 |}}+题意:有一个三角型排列为左图所示,定义一次移动只能从$(i,​j)$到$(i+1,​j)$或者从$(i,​j)$到$(i,​j+1)$,问若将该三角形阵列的$(i_1,​j_1)$,​点走到$(i_2,​j_2)$中途经过的所有点的值全部加在一起,有多少种不同的答案?{{:​2020-2021:​teams:​manespace:​1j_p2nm_r_f_94uoq_1b_b.png?​200 |}}
  
 题解:<​del>​这题真是坑死我了……</​del>​,可以找规律然后暴力计算个数,因为枚举之后不难发现两点之间路径和最长一定是先向下走,再向上走,最小一定是先向右走再向下走,然后根据等差数列的关系暴力求式子计算。后来发现答案是很简单的$(i_2-i_1)*(j_2-j_1)+1$,<​del>​直接自闭</​del>​,后来想想发现还挺自然(<​del>​知道答案当然自然了</​del>​),每个数的下边一定比左边大1,加的效果是叠加的,假如这一次比上一次早一步走了下面,那么一定会给整体加上$(j_2-j_1)$,那么一共可以早$(i_2-i_1)$次。可以得到,最小的和最大的差,然后+1即可。代码略。 题解:<​del>​这题真是坑死我了……</​del>​,可以找规律然后暴力计算个数,因为枚举之后不难发现两点之间路径和最长一定是先向下走,再向上走,最小一定是先向右走再向下走,然后根据等差数列的关系暴力求式子计算。后来发现答案是很简单的$(i_2-i_1)*(j_2-j_1)+1$,<​del>​直接自闭</​del>​,后来想想发现还挺自然(<​del>​知道答案当然自然了</​del>​),每个数的下边一定比左边大1,加的效果是叠加的,假如这一次比上一次早一步走了下面,那么一定会给整体加上$(j_2-j_1)$,那么一共可以早$(i_2-i_1)$次。可以得到,最小的和最大的差,然后+1即可。代码略。
行 47: 行 47:
 题意:重新定义月份的数量和每月的天数,规定每月的第$i$天有一个权值为$i$,给定月数与每个月的天数,问连续的k天的最大权值和为多少。 题意:重新定义月份的数量和每月的天数,规定每月的第$i$天有一个权值为$i$,给定月数与每个月的天数,问连续的k天的最大权值和为多少。
  
-题解:容易证明若要最大,连续k天末尾必须要是一个月的月末否则当我们向后移动,一定能找到更加优秀的解。那么我么你枚举月份即可。注意先预处理,要不然会tle……+题解:容易证明若要最大,连续k天末尾必须要是一个月的月末否则当我们向后移动,一定能找到更加优秀的解。那么我枚举月份即可。注意先预处理,要不然会tle……
  
 <​hidden>​ <​hidden>​
2020-2021/teams/manespace/codeforces_round_645_div2.1590763810.txt.gz · 最后更改: 2020/05/29 22:50 由 iuiou