- 博客(23)
- 收藏
- 关注
原创 hdu1816Get Luffy Out *
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1816题意:有2*n种钥匙,n对钥匙的约束(用了一把另一把那种钥匙就不能用了),m扇门。每扇门上有两把锁,打开一把就能打开门。问最多能打开多少扇门。分析:求最大值我们可以二分,然后根据约束条件用2-SAT算法就行了。代码:#include#include#include#include
2016-11-23 22:50:00 655
原创 hdu3622Bomb Game
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3622题意:给定n对点,每对点需要选择其中之一放一个炸弹,炸弹的半径随意,但是两个炸弹的爆炸覆盖面积不允许重叠。求使得所有炸弹半径中最小值最大的那个最大值。分析:最小值最大很经典就是二分答案,然后怎么判断呢?我们根据两两之间的互斥关系建立一些表达式然后就是一个2-sat问题啦。代码:#inc
2016-11-20 18:46:20 591
原创 hdu1824Let's go home
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1824题意:中文题。分析:处理清楚题目所说的逻辑关系就是一个基础的2-sat问题了。代码:#include#include#include#include#include#include#include#include#include#include#include#i
2016-11-17 21:19:51 614
原创 Codeforces Round #379 (Div. 2) F. Anton and School
链接:http://codeforces.com/contest/734/problem/F题意:给定b,c两个数组,其中b[i]=∑nj=1a[i]&a[j],c[i]=∑nj=1a[i]|a[j]b[i]=\sum_{j=1}^{n}a[i] \verb'&' a[j],c[i]=\sum_{j=1}^{n}a[i] \verb'|' a[j]。求是否存在a数组使得b,c数组满足条件,不存在输出
2016-11-16 22:00:11 998 2
原创 Codeforces Round #379 (Div. 2) E. Anton and Tree
链接:http://codeforces.com/contest/734/problem/E题意:给定一棵树,每个节点为黑色或白色,有一种操作:现在一个节点然后将与其联通的同颜色的节点一起变一种颜色(黑变白,白变黑),求最少多少次操作可以使得整棵树变成一个颜色。分析:因为可以一个同颜色的联通块一起变,我们将所有同颜色的联通块缩点,然后我们会发现树变成了全是黑白交替的。那么最小操作次数就是从
2016-11-16 21:20:26 515
原创 Codeforces Round #379 (Div. 2) D. Anton and Chess
链接:http://codeforces.com/contest/734/problem/D题意:给定一个白棋的位置,然后给n个黑棋(只有象,车和皇后),象走斜率为+-1的方向,车走十字,皇后走米字。判断是否有黑棋能一步吃掉白棋。分析:白棋被吃掉只能被8个方向上最近的那个点吃,处理出n个黑棋中距离白棋最近的且在那8个方向上的是什么类型的棋子就行了。代码:#include#incl
2016-11-16 21:08:57 437
原创 Codeforces Round #379 (Div. 2) C. Anton and Making Potions
链接:http://codeforces.com/contest/734/problem/C题意:一个魔法师要制作n瓶药剂,每瓶药剂需要花费x秒,他有s的魔法值。他会两种魔法,第一种:花费b的魔法使得制作这种药剂的时间变成a秒;第二种:花费d的魔法值使得可以少制作c瓶。求最短时间内制作完所有的药剂。每种魔法都至多只能用一个。分析:因为两种魔法都只能至多用一次,我们可以枚举第一种用哪个然后因
2016-11-16 21:03:47 374
原创 Codeforces Round #379 (Div. 2) B. Anton and Digits
链接:http://codeforces.com/contest/734/problem/B题意:用2,3,5,6组成若干个32和256,求总和最大能组成多少。分析:贪心优先组256即可。代码:#include#include#include#include#include#include#include#include#include#include#incl
2016-11-16 20:54:46 354
原创 Codeforces Round #379 (Div. 2) A. Anton and Danik
链接:http://codeforces.com/contest/734/problem/A题意:统计一个字符串中'A'和'D'的个数那个多。代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#pr
2016-11-16 20:52:15 439
原创 Codeforces Round #378 (Div. 2) F. Drivers Dissatisfaction
链接:http://codeforces.com/contest/733/problem/F题意:给定n个点m条边的联通图和一个s,每条边有边权w和费用c(花费c可以使权值-1)。最多花费s求一棵权值最小的生成树。分析:很容易想到如果确定了树,那么费用肯定是全部用在c最小的那条边上,这样肯定是最优的。也就是说我们只需要确定哪一条是那条花费s的边,我们先按w建一颗最小生成树,然后得到初始an
2016-11-15 13:59:36 496
原创 Codeforces Round #378 (Div. 2) E. Sleep in Class
链接:http://codeforces.com/contest/733/problem/E题意:给一个只含'U'和'D'的字符串,U表示向右走,D表示向左走。每个格子踩一次之后翻转(U变D,D变U),求从每个格子出发走多少步才能走到位置小于1或大于n。分析:当在第i个格子的时候,我们假设初始位置是在i-1和i中间这条缝隙处,然后初始是向右走,然后我们会得到一个区间(l,r]表示我们最左走
2016-11-15 13:48:16 769
原创 hdu3062Party
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062题意:中文题。分析:裸的2-sat模板题。代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#p
2016-11-03 21:25:59 347
原创 poj1515 Street Directions
链接:http://poj.org/problem?id=1515题意:给定一个n个点m条边的无向图。现在需要将所有边变为一条单向或者两条单向并且使得任意两点i,j能互相到达,要求变成两条单向的边最少。分析:只有桥需要变成两条单向边,其他的边按dfs过程指向即可。代码:#include#include#include#include#include#include#in
2016-11-03 16:47:00 459
原创 hdu5943Kingdom of Obsession
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943题意:给定n和s,要求将1~n与s+1~s+n一一匹配使得i匹配j有i整除j。求是否能完全匹配。分析:很容易想到如果错开的max(s+1,n+1)~s+n中有>1个素数的话显然是不能完全匹配的,而1e9内素数的间隔不会大于500,叉姐说很容易证明最优匹配重叠的那段一定是互相匹配的,但是窝不知道
2016-11-01 19:17:24 624
原创 hdu5938Four Operations
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938题意:给一个只含'1'~'9'的字符串,要求按顺序插入'+','-','*','/',求运算结果中的最大值。分析:要求运行结果最大,设为a+b-c*d/e很明显我们能观察到要让前面a+b尽量大即a代码:#include#include#include#include#inclu
2016-11-01 15:35:12 846
原创 hdu5935Car
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5935题意:有一辆车从0点出来,经过了n个位置,已知这辆车的速度是非递减的且经过那些点时都是整点时间,求达到最后一个点的最小花费的时间。分析:从前往后做不好确定速度的大小,我们从第n个点向起点走,速度非递增那么整点通过最后一段一定是1秒通过且这是最大速度。那么我们只需要倒序模拟使得每一段都在最小的整
2016-11-01 15:19:57 623
原创 hdu5934Bomb
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5934题意:给定二维平面上n个炸弹,每个炸弹有引爆需要的费用,如果一个炸弹引爆那么在它的半径范围内的炸弹也会被引爆(不需要花费),求引爆所有炸弹的最小花费。分析:每个炸弹向能炸到的炸弹连一条有向边,然后有向图缩点成一个DAG图,那么我们只需要花费引爆所有起点即可。代码:#include#i
2016-11-01 15:09:50 550
原创 hdu5933ArcSoft's Office Rearrangement
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5933题意:将给定的n堆员工重新平均分成k堆,每次只能合并相邻两堆或者将一堆分成相邻的两堆,不可行输出-1或者输出最小操作数。分析:很明显只需要从左往右模拟即可,比平均值多就分出一堆,小了就合并到下一堆。代码:#include#include#include#include#incl
2016-11-01 15:04:53 530
原创 hdu5955Guessing the Dice Roll
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5955题意:有一个6面的骰子,有n个人每个人猜了一个长度为l的序列,不停的掷骰子直到满足一个人的序列则那个人获胜,求每个人获胜的概率。分析:因为是一些序列之间状态概率的转变,很容易想到AC自动机的fail树的转换,我们从fail树上确定了各个状态的转变概率就可以得到一个方程组,然后高斯消元求出各个节
2016-11-01 14:51:12 1628
原创 Codeforces Round #378 (Div. 2)D. Kostya the Sculptor
链接:http://codeforces.com/contest/733/problem/D题意:给定n个长方体,求一个最大的内切球的半径,可以是两块石头将两个完全匹配的面合起来的或者就用一块石头,输出切出最大内切球的那1/2个石头是哪些。分析:我们先考虑用一块石头的最大内切球半径,一定是ans=max(min(a,b,c))。令a代码:#include#include#inc
2016-11-01 14:21:07 463
原创 Codeforces Round #378 (Div. 2)C. Epidemic in Monstropolis
链接:http://codeforces.com/contest/733/problem/C题意:给定一个长度为n的a数组和一个长度为k的b数组,要求将a数组中合并成b数组,每次合并只能合并相邻的两个并且大吃小,输出NO或YES及合并过程。分析:首先确定几个NO的判定方法,因为是相邻合并那么肯定是一段a合并成一个b[j],那么如果这一段a中元素个数>1并且全部都是一样的值那么就不能合并,反
2016-11-01 14:09:07 503
原创 Codeforces Round #378 (Div. 2)B. Parade
链接:http://codeforces.com/contest/733/problem/B题意:给定多组l[i],r[i],令L为l的总和R为r的总和,求最多交换一组的l[i],r[i]使得|L-R|最大,输出交换的那组。分析:模拟代码:#include#include#include#include#include#include#include#include
2016-11-01 14:00:07 546
原创 Codeforces Round #378 (Div. 2)A. Grasshopper And the String
链接:http://codeforces.com/contest/733/problem/A题意:给定一个字符串,一只蚱蜢从左边跳到右边,每次只能跳到'A','E','I','O','U','Y'上。求最小的最大需要跳的距离。分析:模拟代码:#include#include#include#include#include#include#include#include
2016-11-01 13:54:26 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人