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

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

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

  3. Codeforces Round #384 (Div. 2) C. Vladik and fractions 构造题

    C. Vladik and fractions 题目链接 http://codeforces.com/contest/743/problem/C 题面 Vladik and Chloe decided ...

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

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

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

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

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

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

随机推荐

  1. Eclipse 实用技巧

    代码智能提示 Java智能提示 Window -> Preferences -> Java -> Editor -> Content Assist -> Auto Act ...

  2. JS魔法堂:不完全国际化&本地化手册 之 拓展篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  3. LINQ to SQL语句(17)之对象加载

    对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...

  4. Servlet3.0的注解

    1.@WebListener注解 表示的就是我们之前的在xml中配置的 <listener> <listener-class>ListenerClass</listene ...

  5. JS高程5.引用类型(3)Array类型-检测数组

    1. instanceof操作符(ECMAScript3) 对于一个网页,或者是一个全局作用域而言,使用instanceof操作符来检测数组就可以得到满意的结果. 语法:if(value instan ...

  6. 关于input标签和placeholder在IE8,9下的兼容问题

    一. input常用在表单的输入,包括text,password,H5后又新增了许多type属性值,如url, email, member等等,考虑到非现代浏览器的兼容性问题,这些新的type常用在移 ...

  7. 用java单例模式实现面板切换

    1.首先介绍一下什么是单例模式: java单例模式是一种常见的设计模式,那么我们先看看懒汉模式: public class Singleton_ { //设为私有方法,防止被外部类引用或实例 priv ...

  8. 利用github pages创建简单的网站

    github.com 作为最流行的源代码管理工具已经风靡全球,同时在依托于github也衍生出了各种各样的应用,比如可以利用github搭建博客系统等等. 先换个话题,我们每人手头都或多或少有些&qu ...

  9. 时间戳TimeStamp处理

     我获得这个时间戳是得想除以1000再处理的,看看你们的需要先除多少再处理 //时间戳处理 NSInteger time = timeStamp / 1000; NSNumber *timer = [ ...

  10. Android中webView和网页的交互

     Android中webView和网页的交互 Android中webView跟网页的交互式通过JavaScript进行的.具体步骤: 1.创建JavaScript,在点击的时候调用JavaScript ...