Codeforces Educational Round 21
A
=w=
B
qwq
C
wvw
D(multiset)
题意:
有n(n<=1e5)个数,希望通过把一个位置y的数字放到位置x上这个操作,使得新序列的某个前缀和等于总和的一半,问这样的操作是否存在
分析:
从前往后扫一遍,开两个multiset即可
E(三分)
题意:
01背包问题,但n<=1e5,m<=3e5,1<=wi<=3,1<=ci<=1e9
分析:
肯定根据wi=1 2 3来分组
可以枚举wi=3用几个,再枚举wi=2用几个,就能得到wi=1用几个
但是这样是n^2的
注意到枚举wi的时候,是个单峰函数,所以可以三分,就过了
题解给了个预处理的做法,预处理出(cost,cnt1,cnt2)表示cnt1个wi=1,cnt2个wi=2物品,最优价值是cost
这个东西是可以顺推的
F(二分+二分图最大点权独立集)
题意:
每个物品有pi ci li 三属性(n<=100),你需要定一个最小的level,只能取那些li<=level的物品,能够取若干个物品使得它们的Σpi>=k(k<=1e5),但是取的这些物品中每两个的ci和必须是合数。
分析:
肯定先去二分一下level
把那些ci加起来是素数的数字连起来,很明显就是要求这个图的最大点权独立集
仔细分析发现,两个偶数加起来肯定不是素数,两个奇数加起来肯定不是素数(特殊考虑1的情况)
所以这其实是个二分图
所以对于一般情况就通过最大流求下二分图的最大点权独立集即可
关于1的问题,肯定只能选一个1,就选那个pi最大的1来参与建图
G(dp+next转移)
题意:
给一个字符串s,一个字符串t
字符串s有些位置是?,你需要给?赋一些字母,使得s中t出现次数最多,输出最多出现次数
lens<=1e5,lent<=1e5,lens*lent<=1e7
分析:
很明显的dp,用next进行转移
提前对t预处理出next[i][j]表示当前匹配t的第i位,来了一个字母j和其匹配,那么接下来指针会移到哪个位置
然后就dp[i][j]表示匹配s的前i个字母,匹配t的前j个字母,t在s中的最多出现次数
转移的时候如果遇到?就枚举26个字母,否则就用本身字母转移
时间复杂度O(lens*lent*26)
Codeforces Educational Round 21的更多相关文章
- Codeforces Educational Round 33 题解
题目链接 Codeforces Educational Round 33 Problem A 按照题目模拟,中间发现不对就直接输出NO. #include <bits/stdc++.h> ...
- Codeforces Educational Round 92 赛后解题报告(A-G)
Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...
- [CodeForces]Educational Round 52
幸好我没有打这场,我VP的时候在C题就卡死了,我果然还是太菜了. A Vasya and Chocolate 题意:一个巧克力\(c\)元,买\(a\)赠\(b\),一共有\(n\)元,问能买几个巧克 ...
- Codeforces Educational Round 37
Solved CodeForces 920A Water The Garden Solved CodeForces 920B Tea Queue Solved CodeForces ...
- Codeforces Educational Round 57
这场出题人好像特别喜欢998244353,每个题里都放一个 A.Find Divisible 考察选手对输入输出的掌握 输出l 2*l即可(为啥你要放这个题,凑字数吗 #include<cstd ...
- Codeforces Educational round 58
Ediv2 58 随手AK.jpg D 裸的虚树,在这里就不写了 E 傻逼贪心?这个题过的比$B$都多.jpg #include <cstdio> #include <algorit ...
- Codeforces Educational Round 23
A emmmmmmmmm B emmmmmmmmm C(套路) 题意: 给定n和s(n,s<=1e18),计算n以内有多少个数x满足(x-x的各个位置数字之和)>=s 分析: 容易想到如果 ...
- codeforces educational round 25
A 出题人不给样例解释...具体程序 #include<bits/stdc++.h> using namespace std; int n; ]; int main() { scanf() ...
- [Codeforces Educational Round 71]Div. 2
总结 手速场...像我这种没手速的就直接炸了... 辣鸡 E 题交互,少打了个 ? 调了半个小时... 到最后没时间 G 题题都没看就结束了...结果早上起来被告知是阿狸的打字机...看了看题一毛一样 ...
随机推荐
- js插件之Ocupload
使用方法: var myUpload = $(element).upload({ name: 'file', action: '', enctype: 'multipart/form-data', p ...
- [BZOJ2190][SDOI2008]仪仗队 数学
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 看到这道题首先想到了NOI2010的能量采集,这不就是赤裸裸的弱化版吗?直接上莫比乌 ...
- Android 给按钮添加监听事件
在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Overr ...
- Apache Tomcat 之路(一 基本概念)
关于apache tomcat 基本概念(https://tomcat.apache.org/tomcat-7.0-doc/index.html) 1.tomcat 是servlet/jsp 容器,对 ...
- IntelliJ IDEA导入JDK出现The selected directory is not a valid home for JDK问题的解决方法
JDK版本与IDEA版本不兼容: JDK版本过高可能会造成这个问题,需与IDEA相兼容的JDK才行. 比如,用IDEA2016.3.8版本的,JDK用jdk-10.0.1_windows-x64_bi ...
- .net mvc 运行监控和错误捕捉
方法类 /// <summary> /// 运行监控类 /// </summary> [AttributeUsage(AttributeTargets.Class | Attr ...
- CentOS 6.4 linux下编译安装 LNMP环境
1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
- python中break、continue 、exit() 、pass终止循环的区别
python中break.continue .exit() .pass区分 1.break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或while循环. b ...
- Spring启动执行流程梳理
注:本文梳理启动流程使用的Spring版本:4.0.2.RELEASE 使用spring配置,都需要在web.xml中配置一个spring的监听器和启动参数(context-param),如下: &l ...
- WPF学习- AllowDrop 用户控件启用拖放功能
知识点: 创建自定义用户控件(UserControl) 使用户控件成为拖动源 使用户控件成为放置目标 使面板能够接收从用户控件放置的数据 创建项目: 1.新建WPF项目(Wpf-AllowDrop) ...