这场div2可以说是我见过的比较水的一场吧。基本都是一眼题。

比赛地址http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=1836

题号是237A-237E

A题:Free Cash

这题不能多说。就是每个分钟覆盖一下,算出最大就行。

B题:Young Table

题目中有一个很重要的条件是,操作的个数不大于这些数的个数就行了。

那么很明显的一个想法就是,第一个位置放1,第二个位置放2,依次类推,最后肯定能满足条件。

复杂度应该是n^2的。

C题:Primes on Interval

首先看到数据范围是10^6

然后看到求最小。

很显然的一个想法就是二分判断可行性了。

二分L的大小,带入数组中判定。

不过有一点需要注意

就是算某个区间[x,y]有多少个素数,你只要事先记录好[1,x - 1], [1, y]区间内的素数,然后一减就行了

D题:T-decomposition

目测大家都没看题。 前边都在墨迹

题目大意就是

给了一颗树s,然后让你构造一个树叫t,

t这颗树比较特别,就是这颗树上的结点都是由树s上的若干结点构成的集合。 并且t树上所有结点的并集是s树的结点的全集

并且,如果s上有边(a,b)那么t树上必须有某个结点,包含a和b这两个点。

最后一条,如果t树上有两个结点x,y,若x中包含了s树中的结点a,且y中包含了s树中的结点a,那么t树中,x到y的路径上的结点都必须包含s树中结点a

然后规定某个结点的基数就是它所包含的s树结点的个数,然后整个树的基数就是所有结点中最大的基数

现在就想让树的基数最小。

最后输出的是t树中每个结点包含了哪些s树中结点,以及t树中的边

这个需要手画一下。

然后不难得知,其实只要把s树中的每条边得两个结点,作为t树中的新结点即可

就是一个边对应一个结点

然后连接的方法类似于多叉树转换二叉树

我们先把每个边对应成一个结点。

我刚开始的想法是把根节点的儿子们与根组成的边对应的结点依次连接起来,然后其他结点的(儿子们与其父亲的边对应的结点)都跟(父亲结点与父亲的父亲结点组成的边对应的结点)相连

后来发现,只需要:

每个结点的儿子们与其父亲组成的边所对应的结点依次相连,(大儿子连二儿子,二儿子连三儿子)

大儿子与父亲组成的边对应的结点还要与(父亲结点与父亲的父亲结点组成的边对应的结点)相连

当然如果往上没有父节点了就不用连了。

然后就很能满足题意了

E题:Build String

题目大意也比较清楚

就是给你一个目标字符串。

然后给你n个准备好的字符串。

然后每次操作,你可以从这n个字符串中任意挑选一个字符,然后从对应的字符串中删掉这个字符,把这个字符写在纸上。

循环操作直至你的纸上构成了目标字符串

限制就是每个字符串都有花费,第i个字符串取一个字符的花费是i,然后能取得次数是分别有限制的,为ai

看完之后就能发现。。 这不就是最小费用最大流

其中最大流就是目标字符串的长度

我们这样建图:

一个超级源点,一个超级汇点,

中间分为两层,

第一层有n个点,代表了100个字符串

第二层26个点,26个字母

源点向每个第一层的点连边,花费为0,流量限制为该字符串能取的次数

然后对第一层的每个点,对应的字符串,计算每个字符的个数,然后与相应的字母连边,流量限制是字母的个数,每个流量的花费是(若是第i个字符串就是i)

最后每个第二层的点向源点连边

流量限制分别为目标字符串中该字母的个数,花费为0

然后跑一遍最小费用最大流,检查流量是否是目标字符串的长度,如果是,表示可以构成目标字符串

13年7月13日CF练习 Codeforces Round #147 (Div. 2)的更多相关文章

  1. cf 20190307 Codeforces Round #543 (Div. 2, based on Technocup 2019 Final Round)

    B. Mike and Children time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  2. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

  4. 【打CF,学算法——三星级】Codeforces Round #313 (Div. 2) C. Gerald's Hexagon

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/C 题面: C. Gerald's Hexagon time limit per tes ...

  5. CF&&CC百套计划3 Codeforces Round #204 (Div. 1) B. Jeff and Furik

    http://codeforces.com/contest/351/problem/B 题意: 给出一个n的排列 第一个人任选两个相邻数交换位置 第二个人有一半的概率交换相邻的第一个数>第二个数 ...

  6. [CF百场计划]#2 Codeforces Round #618 (Div. 2)

    A. Non-zero Description: Guy-Manuel and Thomas have an array \(a\) of \(n\) integers [\(a_1, a_2, \d ...

  7. CF Codeforces Round #231 (Div. 2)

    http://codeforces.com/contest/394 话说这次CF做的超级不爽,A题一开始交过了,我就没再管,B题还没看完呢,就死困死困的,后来觉得B题枚举一下估计能行,当时是觉得可以从 ...

  8. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/B 题面: B. Gerald is into Art time limit per t ...

  9. 【打CF,学算法——一星级】Codeforces Round #313 (Div. 2) A. Currency System in Geraldion

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/A 题面: A. Currency System in Geraldion time l ...

随机推荐

  1. 集合简单总结 ArrayList、List、Hashtable、Dictionary

      ============================ 集合综述 ============================== 1.什么是泛型: 泛型就是限制了操作类型,意思如下:       ...

  2. HTTP 错误 500.19 – Internal Server Error web.config 文件的 system.webServer/httpErrors 节中不允许绝对物理路径“C:\inetpub\custerr”[转]

    给ASP或者ASP.NET等需要配置IIS服务器的过程中,很可能会遇到以下两种错误.尤其是用Win7系统的,配置IIS7.0版本比用XP系统配置IIS5.1版本而言要复杂复杂一些.当同时需要配置ASP ...

  3. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user 'xxxx'@''

    这两天项目一直在报这个错误消息: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to ...

  4. poj 百练 2765 八进制小数(精度问题)

    2765:八进制小数 查看 提交 统计 提示 提问 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 八进制小数能够用十进制小数精确的表示.比方,八进制里面的0.75等于十进制里 ...

  5. 如何学习php之吐槽

    我也做了php一段时间了.从技术层面上解释吧.   深入学习任何的东西都要有个体系.   1 完整的学习整个体系结构.解决有什么的问题.   推荐看看这个.http://www.open-open.c ...

  6. Swift - 获取屏幕点击坐标下所有对象(SpriteKit游戏开发)

    对于场景内对象元件的点击响应,我们可以在场景的touchesBegan()方法中内统一处理. SKScene中touchesBegan()是响应屏幕点击的方法,在这里面我们可以先获取点击位置下所有的对 ...

  7. Tomcat 用户配置

    如果你没有改变任何配置文件,请检查文件conf / tomcat用户.xml在你安装.该文件必须包含凭证让你使用这个应用. 例如,添加一个用户名为tomcat manager gui角色s3cret密 ...

  8. HDU 4870 Rating (2014 多校联合第一场 J)(概率)

    题意: 一个人有两个TC的账号,一开始两个账号rating都是0,然后每次它会选择里面rating较小的一个账号去打比赛,每次比赛有p的概率+1分,有1-p的概率-2分,当然如果本身是<=2分的 ...

  9. zabbix 监控jmx 需要--enable-java

    安装Javagateway如果原来已经安装zabbix,只需要再添加以下zabbix-java # tar zxvf zabbix-2.2.0.tar.gz # cd zabbix-2.2.0 # . ...

  10. jquery prop和attr的区别

    jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的 ...