2019年12月29日

cf1207E——交互,思维

摘要: /* a=Ai^x b=Bj^x a^b=Ai^Bj 只要让A[]占后7位,B[]占前7位,就可以算出Bj 然后x=b^bj */ #include<bits/stdc++.h> using namespace std; #define N 205 int a,b,A[N],B[N]; void a 阅读全文

posted @ 2019-12-29 21:19 zsben 阅读(151) 评论(0) 推荐(0)

cf1271D——经典 dp+贪心+图论

摘要: /* 该题目很好的将图论和dp的状态转移结合在了一起 首先有一个贪心策略: 每个点都只能被离其最远(最靠右)的那个点派兵守卫,这个点可能是其自身 正确性显然:士兵留到越后面,其产生的贡献越大,所以不到关键时刻,就不派兵守卫 dp[i,j]表示进攻到i点时,剩余兵力为j时的最大收益 转移时的策略:将i 阅读全文

posted @ 2019-12-29 19:16 zsben 阅读(292) 评论(0) 推荐(0)

cf1271E——数学找规律,二分套二分

摘要: 哎,规律就是难看出来 /* 二分判y是否可行,judge函数里: 找规律可以发现: y是奇数时 第0层:y 第一层:2y,2y+1 第二层:4y,4y+1,4y+2,4y+3 第三层:8y,8y+1,8y+2,8y+3,8y+4,8y+5,8y+6,8y+7 ... 第k层:[2^k*y,2^k*y 阅读全文

posted @ 2019-12-29 14:42 zsben 阅读(269) 评论(0) 推荐(0)

cf1272E——bfs反边图

摘要: /* 分别对奇数点和偶数点各求一次,首先每个点连两条单向边 1.建立一个源点s,和所有偶数点连边,一次bfs出来的是所有奇数点的答案 2.建立一个源点t,和所有奇数点连边,一次bfs出来的是所有偶数点的答案 */ #include<bits/stdc++.h> #include<vector> us 阅读全文

posted @ 2019-12-29 10:44 zsben 阅读(210) 评论(0) 推荐(0)

cf1272F——经典升维dp,好题!

摘要: /* 给两个括号序列,用一个合法的括号串来覆盖这两个串,求出这个最短串 这个问题可以分解成两个条件: 1.用一个最短的括号序列来覆盖这两个串 2.这个序列要合法 首先考虑第一个条件: 不难想到用两个状态dp[i,j]来表示匹配s[1..i],t[1..j]时的最短长度 转移也很简单:初始状态dp[0 阅读全文

posted @ 2019-12-29 00:10 zsben 阅读(200) 评论(0) 推荐(0)

导航