VIrtuoso

两把多兰剑加个布甲鞋

导航

2019年3月30日 #

Educational Codeforces Round 62 (Rated for Div. 2) C 贪心 + 优先队列 + 反向处理

摘要: 题意 每首歌有$t_i$和$b_i$两个值,最多挑选m首歌,使得sum($t_i$) min($b_i$)最大 题解 假如最小的$b_i$确定了,那么拿得越多越好 枚举最小的$b_i$然后取剩下最大的$t_i$ 两种做法 1.从$b_i$大向小扫,这样用优先队列维护最大的那些$t_i$(丢弃最小的) 阅读全文

posted @ 2019-03-30 22:07 VIrtuoso 阅读(80) 评论(0) 推荐(0) 编辑

Codeforces Round #536 (Div. 2) E dp + set

摘要: 题意 一共有k个红包,每个红包在$[s_i,t_i]$时间可以领取,假如领取了第i个红包,那么在$d_i$后才能领取下一个红包,每个红包价值$w_i$,对方假如有机会领取红包他一定会领取,你有m次阻止对方领取的机会,问对方最少可以拿到多少红包 题解 定义dp[i][j]为前i秒用了j次机会让对方拿到 阅读全文

posted @ 2019-03-30 21:11 VIrtuoso 阅读(125) 评论(0) 推荐(0) 编辑

Codeforces Round #547 (Div. 3) G 贪心

摘要: 题意 在一棵有n个点的树上给边染色,连在同一个点上的边颜色不能相同,除非舍弃掉这个点,问最少需要多少种颜色来染一棵树 题解 选择弃掉度数最高的k个点,然后第k+1个点的度数就是答案 代码 c++ include define N 200005 define pb push_back using na 阅读全文

posted @ 2019-03-30 20:13 VIrtuoso 阅读(88) 评论(0) 推荐(0) 编辑

Codeforces Round #547 (Div. 3) F 贪心 + 离散化

摘要: 题意 一个大小为n的数组a[],问最多有多少个不相交的区间和相等 题解 离散化用值来做,贪心选择较前的区间 代码 阅读全文

posted @ 2019-03-30 19:52 VIrtuoso 阅读(134) 评论(0) 推荐(0) 编辑

Codeforces Round #539 (Div. 2) D 思维

摘要: 题意 将一个回文串切成一段一段,重新拼接,组成一个新的回文串,问最少切几刀 题解 首先无论奇偶串,最多只会切两刀 然后对于偶数串,看看有没有循环回文串,有的话只需要切一刀 代码 c++ include using namespace std; int n,m,i,j,ok,ans; string s 阅读全文

posted @ 2019-03-30 19:34 VIrtuoso 阅读(114) 评论(0) 推荐(0) 编辑

Codeforces Round #539 (Div. 2) 异或 + dp

摘要: 题意 一个n个数字的数组a[],求有多少对l,r满足$sum[l,mid]=sum[mid+1,r]$,sum为异或和(n define M 3000005 define ll long long using namespace std; ll f[M][3],a[M],ans; int n,i; 阅读全文

posted @ 2019-03-30 19:12 VIrtuoso 阅读(101) 评论(0) 推荐(0) 编辑