A(hdu5933):(贪心)

  题意:长度为n的数组: a1, a2,⋯, 每次操作要么可以merge两个相邻的数为一个, 值为两个数的和; 要么可以把一个数分裂成两个, 两个数的和为原数. 用最少的操作把数组变换成长度为K且所有数值相等的数组, 无解输出-1

  分析:注意到是只能合并相邻的数,那么从前往后,对于一段数,它们的和是所期望平均值的倍数时候,那么就将它们单独操作计算次数。

B(hdu5934):(强连通分量)

  题意:二维平面上有 n 个炸弹,每个炸弹有个引爆的代价和爆炸半径,问至少花费多少代价才能引爆所有炸弹。

  分析:将炸弹视为点,炸弹引爆信息视为边,那么就很容易想到答案就是把所有入度=0的点炸掉,但注意是可能有环的,所以要先强连通分量缩点,缩点的权值用其内部权值最小的点的权值代替,对于这个新的DAG图,把所有入度为0的点炸掉。

C(hdu5935):(贪心)

  题意:有个老司机在开车, 开车过程中车的速度是不减的. 交警记录了这个老司机在n个时间点的位置, 但是时间位置. 已知老司机从位置0出发, 记录的时间点都是整数, 问经过第n个位置最少需要的时间.

  分析:对于最后一段,时间肯定是1,再向前模拟,注意v要用分数表示才精确。

D(hdu5936):(meet in middle)

  题意:f(y,K)=∑(z in every digits of y)z^K,x=f(y,K)-y,给定x和K,求y的个数

  分析:按道理来说,y越大,那么f(y,K)-y的值应该是越小的,所以y不会丧心病狂的大,经过计算发现y最多只是十位数。

       直接枚举y是肯定TLE,注意到题目的限制条件有两个,一个是y,一个是f(y,K),而f(y,K)只和每个数位上的数有关,所以对于一共十位数,我们可以枚举五位,十位数就是从这五位数中选两个拼接而成的。

       具体的,枚举0~99999,计算f[i]-i存入数组中排序,再枚举0~99999作为高五位,如果要存在,那就希望数组中存在x-(f[i]-i*100000),存在多少就加多少个数,这就是个二分查找的过程。

     O(10^6*log(10^6))

       注意一个细节,就是高5位和低5位都是0的情况会算两次,所以如果0符合条件,那么结果要减去一次。

  注意:1、不要用map、set,特别慢

       2、不要用lower_bound(),upper_bound(),特别慢

       3、手写lower,upper要细心,upper不要改变含义,就按照upper_bound()的定义写

     4、手写二分的时候要在前面加入-inf,后面加入inf 

     4、本题要注意是0~99999而不是1~99999,同时两个0要答案减一 

E(hdu5937):(dfs+剪枝)

  题意: 有1~9 9个数字各有a1, a2, …, a9个, 有无穷多的+和=. 问只用这些数字, 最多能组成多少个不同的等式x+y=z, 其中x,y,z∈[1,9].

  分析:一共有36个不同的等式,1个数字i,最多用17-i个,所以可以提前把多余的数量删掉,并且特判ans=36的情况

       对于接下来的,再进行搜索,按照等式的取舍来搜,注意加上最优性剪枝和可行性剪枝

F(hdu5938):(预处理)

  题意:给出一个长度最大是20的数字串, 你要把数字串划分成5段, 依次填入’+’, ’-’, ’*’, ’/’, 问能得到的最大结果.

  分析:预处理一段只有加号的最大结果、只有乘号的最小结果、有乘号有除号的最小结果,再枚举减号的位置,得出最大结果。

  注意:1、预处理的时候注意从哪一位到哪一位,不然会溢出

     2、long long类型的inf=1e18,而不能赋值1e19……

K(hdu5943):(二分图匹配)

  题意:n 个人编号为 [s+1,s+n],有 n 个座位编号为 [1,n],编号为 i 的人只能坐到编号为它的约数的座位,问每个人是否都有位置坐

  分析:①若[1,n]和[s+1,s+n]不相交

        注意到如果[s+1,s+n]中有两个或两个以上的素数,那么就不可解了,因为它们都只能放在1的位置,而只有一个质数的情况下,区间的长度肯定不会很长,那么就是一个二分图匹配问题了。

     ②若[1,n]和[s+1,s+n]相交,对于编号为[s+1,n]的这些人,他们坐在[s+1,n]上是最优的,因为如果他们坐在自己约数的座位上,那么就让后面的数坐上座位的概率减小(比如 3 9 12,如果9不坐在9上而坐在3上,那么12就没地方坐了)

      于是区间匹配就成了[1,s]和[n+1,n+s]了,这就变成问题①了。

CCPC2016杭州现场赛的更多相关文章

  1. 2013杭州现场赛B题-Rabbit Kingdom

    杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...

  2. CCPC2016合肥现场赛

    A(hdu5961):(BFS) 题意:给两个有向图=P=(V,E​P​​)和Q=(V,E​Q​​), 满足1.E​P​​与E​Q​​没有交:2.E​P​​∪E​Q​​是竞赛图.判断P与Q是否同时为传 ...

  3. hdu 4779 Tower Defense 2013杭州现场赛

    /** 题意: 有两种塔,重塔,轻塔.每种塔,能攻击他所在的一行和他所在的一列, 轻塔不 能被攻击,而重塔可以被至多一个塔攻击,也就是说重塔只能被重塔攻击.在一个n*m 的矩阵中,最少放一个塔,可放多 ...

  4. hdu4453 Looploop 2012年杭州现场赛 Splay

    题意:维护一个圈,实现六个功能,给某位置起的一些数增加某值,反转某一段数,添加删除某些数,移动当前所指的位置, 简单的splay,把圈拆成链,对于每种操作,处理一下. #define inf 0x3f ...

  5. hdu 4771 Stealing Harry Potter's Precious (2013亚洲区杭州现场赛)(搜索 bfs + dfs) 带权值的路径

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4771 题目意思:'@'  表示的是起点,'#' 表示的是障碍物不能通过,'.'  表示的是路能通过的: ...

  6. 2013 ACMICPC 杭州现场赛 I题

    #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #in ...

  7. 2013 Asia acm Hangzhou Regional Contest 杭州现场赛

     B Stealing Harry Potter's Precious 题目大意:给定一个n*m的地图,某些点可以走,某些点可以走某些点不可以走,给定一个起点,又给出了k个点k<=4,要求从起点 ...

  8. 2016CCPC杭州现场赛 B-Bomb /// tarjan缩点

    题目大意: 给定n个爆破点的信息 x y r w 表示爆破点位置为 (x,y) 爆破范围是以位置为圆心 半径为r的圆 引爆这个点的代价为w 引爆某个点时 其他位置在该爆破范围内的爆破点也会被引爆 求引 ...

  9. 2013ACM/ICPC亚洲区南京站现场赛---Poor Warehouse Keeper(贪心)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. ...

随机推荐

  1. OS的沙盒机制 --基础知识

    /* iOS的沙盒机制,应用只能访问自己应用目录下的文件. iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容. iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙 ...

  2. iOS UIPageViewController缺陷

    为什么弃用UIPageViewController?问题1:设置UIPageViewController为UIPageViewControllerTransitionStyleScroll且调用set ...

  3. javascript 常见方法记录

    1,trim():去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim.ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写. <script langu ...

  4. nginx 访问目录403

    centos7.2默认安装好nginx后,会在/usr/share/nginx/html下作为主目录 但是如果想访问下面的目录会发现没有权限,返回403错误 这时候要注意在/etc/nginx/ngi ...

  5. django中html过滤器filter

    http://blog.csdn.net/iloveyin/article/details/49560559 safe让Html标签以及一些特殊符号(如<)生效,下面以例子说明: # value ...

  6. mysql: unknown variable 'character-set-client=utf8'

    在同事安装的MySQL服务器上(居然安装的是My-SQL 5.1.73的老旧版本),登录MySQL时遇到下面"mysql: unknown variable 'character-set-c ...

  7. Oracle数据库shutdown immediate被hang住的几个原因

    实验操作环境:         操作系统:Red Hat Enterprise Linux ES release 4 (Nahant Update 6)                         ...

  8. SQL Server 2008 R2 升级到 Service Pack 3后Report Builder启动不了

    一同事将测试服务器从SQL Server 2008 R2 SP2升级到了SQL Server 2008 R2 SP3后发现Report Service的报表编辑时启动不了Report Builder, ...

  9. TCP Provider The semaphore timeout period has expired

    我们一数据库服务器上有个作业最近几天偶尔会遇到下面错误(敏感信息已做处理),主要是报"TCP Provider: The semaphore timeout period has expir ...

  10. Chrome/Firefox 中头toFixed方法四舍五入兼容性问题

    每个Number的toFixed()方法可把 Number 四舍五入为指定小数位数的数字.四舍五入顾名思义,4及以下舍去,5及以上加1. 四舍 1.31.toFixed(1) // 1.3 1.32. ...