13年7月13日CF练习 Codeforces Round #147 (Div. 2)
这场div2可以说是我见过的比较水的一场吧。基本都是一眼题。
比赛地址http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=1836
题号是237A-237E
A题:Free Cash
这题不能多说。就是每个分钟覆盖一下,算出最大就行。
B题:Young Table
题目中有一个很重要的条件是,操作的个数不大于这些数的个数就行了。
那么很明显的一个想法就是,第一个位置放1,第二个位置放2,依次类推,最后肯定能满足条件。
复杂度应该是n^2的。
首先看到数据范围是10^6
然后看到求最小。
很显然的一个想法就是二分判断可行性了。
二分L的大小,带入数组中判定。
不过有一点需要注意
就是算某个区间[x,y]有多少个素数,你只要事先记录好[1,x - 1], [1, y]区间内的素数,然后一减就行了
目测大家都没看题。 前边都在墨迹
题目大意就是
给了一颗树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)的更多相关文章
- 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 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...
- 【打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 ...
- CF&&CC百套计划3 Codeforces Round #204 (Div. 1) B. Jeff and Furik
http://codeforces.com/contest/351/problem/B 题意: 给出一个n的排列 第一个人任选两个相邻数交换位置 第二个人有一半的概率交换相邻的第一个数>第二个数 ...
- [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 ...
- CF Codeforces Round #231 (Div. 2)
http://codeforces.com/contest/394 话说这次CF做的超级不爽,A题一开始交过了,我就没再管,B题还没看完呢,就死困死困的,后来觉得B题枚举一下估计能行,当时是觉得可以从 ...
- 【打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 ...
- 【打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 ...
随机推荐
- Unity3d 帧率设置 及在游戏执行时显示帧率
在Unity3d 中能够通过代码设置 来限定游戏帧率. Application.targetFrameRate=-1; 设置为 -1 表示不限定帧率. 转自http://blog.csdn.net/h ...
- soundPool播放短、频、快的声音
package com.example.soundpool; import android.media.AudioManager; import android.media.SoundPool; im ...
- 基于集合成工控机Ubuntu系统安装分区详解
基于集合成工控机Ubuntu系统安装分区详解 硬件描述:双核的CPU,128G的固态硬盘 软件描述:使用Ubuntu12.04系统,内核3.8.0-29版本,QT4.8.1版本 1.新建分区表 /de ...
- 推荐五个最好的MySQL GUI工具
推荐五个最好的MySQL GUI工具 在本文中,我们会介绍一些最常用的MySQL GUI工具并附上下载链接.希望大家能更好的运用这些工具. AD:网+线下沙龙 | 移动APP模式创新:给你一个做APP ...
- Swift - 邮件发送功能的实现
使用MessageUI.framework框架除了可以发送短信,还能发送Email,步骤如下: (1)首先判断设备是否有发送邮件功能 (2)如果设备允许发送邮件,创建一个MFMailComposeVi ...
- EasyUI - Tabs 选项卡标签
基本效果: 效果图: html代码: <div id="tab"> <div title="tab1" > <p>tab1& ...
- Keepalived安装工具
装keepalived前,要先检查主机上是否已经安装, ps -ef | grep keepalive 不检查的话.easy把前人装的东西覆盖掉,那么曾经弄的配置文件都没了比較麻烦. 下面都为root ...
- 迟来SQLHelper
机房收费系统个人重构版敲完登陆系统之后往后敲了几个窗口,对于那些数据库连接SqlConnenction.SqlConnamd等常常敲反复的代码,之前也看过其它人的博客,这个东西不用还真不行. SqlH ...
- asp.net中通过注册表来检测是否安装Office(迅雷/QQ是否已安装)
原文 asp.net中通过注册表来检测是否安装Office(迅雷/QQ是否已安装) 检测Office是否安装以及获取安装 路径 及安装版本 代码如下 复制代码 #region 检测Office是否 ...
- eclipse发布项目报错:Multiple Contexts hava a path of “/xxx“
你的位置:首页 > Java编程 > eclipse发布项目报错:Multiple Contexts hava a path of “/xxx“ eclipse发布项目报错:Multipl ...