Codeforces Round #384(div 2)
A
题意:有n个机场处于一直线上,可两两到达,每个机场只可能属于两家公司中的一家(用0,1表示),现在要从a机场到b机场,可任意次转机。若机场i与机场j从属同一公司,则费用为0,否则费用为1。问最小费用?
分析:题目看懂就行了,起点和终点相同答案就是0,否则就是1
B
题意:和Wannafly Union Goodbye 2016的B题十分类似,分治搞
C
题意:求x,y,z使得对于给定的n(1≤n≤10^4) 2/n=1/x+1/y+1/z成立
分析:数学
目标是把2/n裂成3项
2/n=1/n+1/n
=1/n+(n+1)/(n*(n+1))
=1/n+1/(n+1)+1/[n*(n+1)]
注意n=1时候无解
D
题意:有根树以1为根节点,问如何选择两个不同的节点i和j,使得两棵子树不相交,同时两子树上的节点val和最大?
分析:树形dp
先跑一遍dfs,算出每个节点的sum[i],顺便求出f[i]表示以i为根的子树中,sum[k]最大的那个小子树的sum值
然后再跑一遍dfs,由底向上算出每个节点k内的最大答案,具体的就是对于k的所有儿子,取f[u]最大的两个更新答案
E
题意:给你n个数(n<=1000),它们都是1~8,选出一个最长的序列使得该序列满足两个条件:1、所有相同的数字必须连续出现 2、设sum[i]为数字i出现的个数,要求任意i,j,abs(sum[i]-sum[j])<=1
分析:二分答案+状压DP
可以先二分len表示每个数字出现次数的最小值,那么每个数字出现次数为len或者len+1
预处理出last[i][j]表示从位置i往前,连续j个数字a[i],到位置last[i][j]为止
f[i][j][k]表示[前i个数,状态为j(0~2^8-1表示每个数字是否取过),有k个len+1 ]这种情况是否存在
转移的时候有三种,一种是i直接由i-1转移得到,第二种是i向前len,第三种是i向前len-1
最后刷一遍统计最大值
还有注意特判n=1,以及二分出来的l(有可能l没有check就退出二分了)
细节比较多,调了很久,debug能力和全面考虑问题还有待提高
Codeforces Round #384(div 2)的更多相关文章
- Codeforces Round #384 (Div. 2) E. Vladik and cards 状压dp
E. Vladik and cards 题目链接 http://codeforces.com/contest/743/problem/E 题面 Vladik was bored on his way ...
- Codeforces Round #384 (Div. 2)D - Chloe and pleasant prizes 树形dp
D - Chloe and pleasant prizes 链接 http://codeforces.com/contest/743/problem/D 题面 Generous sponsors of ...
- Codeforces Round #384 (Div. 2) C. Vladik and fractions 构造题
C. Vladik and fractions 题目链接 http://codeforces.com/contest/743/problem/C 题面 Vladik and Chloe decided ...
- Codeforces Round #384 (Div. 2)B. Chloe and the sequence 数学
B. Chloe and the sequence 题目链接 http://codeforces.com/contest/743/problem/B 题面 Chloe, the same as Vla ...
- Codeforces Round #384 (Div. 2) A. Vladik and flights 水题
A. Vladik and flights 题目链接 http://codeforces.com/contest/743/problem/A 题面 Vladik is a competitive pr ...
- Codeforces Round #384 (Div. 2) C. Vladik and fractions(构造题)
传送门 Description Vladik and Chloe decided to determine who of them is better at math. Vladik claimed ...
- Codeforces Round #384 (Div. 2) B. Chloe and the sequence(规律题)
传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems ...
- Codeforces Round #384 (Div. 2) 734E Vladik and cards
E. Vladik and cards time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Codeforces Round #384 (Div. 2)D-Chloe and pleasant prizes
D. Chloe and pleasant prizes time limit per test 2 seconds memory limit per test 256 megabytes input ...
随机推荐
- AngularJS中get请求URL出现跨域问题
今天早上帮助同学看了一个AngularJS的问题,主要是请求中出现了跨域访问,请求被阻止. 下面是她给我的代码: <html lang="en" ng-app="m ...
- 针对每种Windows Server 操作Excel、Word等Office组件遇到“ComException"、”80070005“等COM错误的解决方案大汇总
以下所有Excel错误的解决方案,同样适用于Word.PowerPoint等Office产品. 以下解决方案中,如果出现"安装Excel组件",是适用于遇到Excel错误的.如果是 ...
- ThreadPool.QueueUserWorkItem的用法
代码: ThreadPool.SetMaxThreads(, ); ThreadPool.QueueUserWorkItem((obj) => { MessageBox.Show("执 ...
- MongoDB安装使用
标签: MongoDB 参考链接:Windows上安装MongoDB教程 1. 官方下载 MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoD ...
- .NET4.5新特性之异步编程(Async和Await)的使用
一.简介 首先来看看.net的发展中的各个阶段的特性:NET 与C# 的每个版本发布都是有一个"主题".即:C#1.0托管代码→C#2.0泛型→C#3.0LINQ→C#4.0动态语 ...
- Aspose.Words简单生成word文档
Aspose.Words简单生成word文档 Aspose.Words.Document doc = new Aspose.Words.Document(); Aspose.Words.Documen ...
- iOS项目开发中的知识点与问题收集整理①(Part 一)
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...
- python 数据类型---列表使用 之一
列表的表现形式:其中的元素可以使任何数据类型,像 字符串,数字, 字典, 列表,变量 等任何类型 age = 28 name = ["Frank", "Lee" ...
- QML 从无到有 3 (自动更新)
新的需求出来啦,需要自动更新功能,不怕程序升级了. 自动更新,QML不好写,需要c++来辅助,这里就涉及QML中调用c++功能(这里就不写了,百度一下,很多). 思路:获取版本>下载程序> ...
- Boost条件变量condition_variable_any
Boost条件变量可以用来实现线程同步,它必须与互斥量配合使用.使用条件变量实现生产者消费者的简单例子如下,需要注意的是cond_put.wait(lock)是在等待条件满足.如果条件不满足,则释放锁 ...