2020年1月2日

cf1283E——贪心

摘要: 想了下dp的做法感觉不太行,我也只配做div3了哎 求最小值的策略:前面没有就把当前的所有人都移到后面去,前面有人就挪到前面去 求最大值的策略:前面没有就挪一个到前面,然后考虑当前位置,下一个位置 /* dp[i][0]表示向前移动了,dp[i][1]表示不动,dp[i][2]表示后移 */ #in 阅读全文

posted @ 2020-01-02 17:42 zsben 阅读(205) 评论(0) 推荐(0)

cf1269D——棋盘解法

摘要: 借助棋盘来解题确实很妙,将本题柱形图放在棋盘上,然后答案就是数量最少的格子, 显然,假设黑格<白格,那么每个黑格必定有一个白格与之对应 感觉自己好迷,这题用dp想了半天,哎 /* dp[i][0|1]表示当前填满,留下一格的最优解 */ #include<bits/stdc++.h> using n 阅读全文

posted @ 2020-01-02 16:30 zsben 阅读(220) 评论(0) 推荐(0)

cf1268C——线段树,逆序对

摘要: /* 结果肯定和 逆序对数量有关,假设当前求第k个答案: 如果1-k元素连续,则只要求出1-k的逆序对个数即可 如果不连续,那么先把这k个元素移动到一起,然后再求逆序对 移动的策略是二分找中间位置p,p左边的元素数量=p右边的元素数量 所以用线段树去维护当前已经存在的点位置 每次求答案:二分找位置p 阅读全文

posted @ 2020-01-02 14:27 zsben 阅读(284) 评论(0) 推荐(0)

导航