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的更多相关文章

  1. Codeforces Educational Round 33 题解

    题目链接   Codeforces Educational Round 33 Problem A 按照题目模拟,中间发现不对就直接输出NO. #include <bits/stdc++.h> ...

  2. Codeforces Educational Round 92 赛后解题报告(A-G)

    Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...

  3. [CodeForces]Educational Round 52

    幸好我没有打这场,我VP的时候在C题就卡死了,我果然还是太菜了. A Vasya and Chocolate 题意:一个巧克力\(c\)元,买\(a\)赠\(b\),一共有\(n\)元,问能买几个巧克 ...

  4. Codeforces Educational Round 37

    Solved   CodeForces 920A Water The Garden   Solved   CodeForces 920B Tea Queue   Solved   CodeForces ...

  5. Codeforces Educational Round 57

    这场出题人好像特别喜欢998244353,每个题里都放一个 A.Find Divisible 考察选手对输入输出的掌握 输出l 2*l即可(为啥你要放这个题,凑字数吗 #include<cstd ...

  6. Codeforces Educational round 58

    Ediv2 58 随手AK.jpg D 裸的虚树,在这里就不写了 E 傻逼贪心?这个题过的比$B$都多.jpg #include <cstdio> #include <algorit ...

  7. Codeforces Educational Round 23

    A emmmmmmmmm B emmmmmmmmm C(套路) 题意: 给定n和s(n,s<=1e18),计算n以内有多少个数x满足(x-x的各个位置数字之和)>=s 分析: 容易想到如果 ...

  8. codeforces educational round 25

    A 出题人不给样例解释...具体程序 #include<bits/stdc++.h> using namespace std; int n; ]; int main() { scanf() ...

  9. [Codeforces Educational Round 71]Div. 2

    总结 手速场...像我这种没手速的就直接炸了... 辣鸡 E 题交互,少打了个 ? 调了半个小时... 到最后没时间 G 题题都没看就结束了...结果早上起来被告知是阿狸的打字机...看了看题一毛一样 ...

随机推荐

  1. js插件之Ocupload

    使用方法: var myUpload = $(element).upload({ name: 'file', action: '', enctype: 'multipart/form-data', p ...

  2. [BZOJ2190][SDOI2008]仪仗队 数学

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 看到这道题首先想到了NOI2010的能量采集,这不就是赤裸裸的弱化版吗?直接上莫比乌 ...

  3. Android 给按钮添加监听事件

    在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Overr ...

  4. Apache Tomcat 之路(一 基本概念)

    关于apache tomcat 基本概念(https://tomcat.apache.org/tomcat-7.0-doc/index.html) 1.tomcat 是servlet/jsp 容器,对 ...

  5. 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 ...

  6. .net mvc 运行监控和错误捕捉

    方法类 /// <summary> /// 运行监控类 /// </summary> [AttributeUsage(AttributeTargets.Class | Attr ...

  7. CentOS 6.4 linux下编译安装 LNMP环境

    1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启

  8. python中break、continue 、exit() 、pass终止循环的区别

    python中break.continue .exit() .pass区分 1.break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或while循环. b ...

  9. Spring启动执行流程梳理

    注:本文梳理启动流程使用的Spring版本:4.0.2.RELEASE 使用spring配置,都需要在web.xml中配置一个spring的监听器和启动参数(context-param),如下: &l ...

  10. WPF学习- AllowDrop 用户控件启用拖放功能

    知识点: 创建自定义用户控件(UserControl) 使用户控件成为拖动源 使用户控件成为放置目标 使面板能够接收从用户控件放置的数据 创建项目: 1.新建WPF项目(Wpf-AllowDrop) ...