
ACM/ICPC技巧/脑洞题
just_sort
Acdream.
展开
-
Educational Codeforces Round 4 D. Array GCD
D. The Union of k-Segmentstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given n segments on the coordinate原创 2016-09-07 21:59:07 · 410 阅读 · 0 评论 -
BZOJ 1098: [POI2007]办公楼biu 补图联通块个数,链表优化
Description FGD开办了一家电话公司。他雇用了N个职员,给了每个职员一部手机。每个职员的手机里都存储有一些同事的 电话号码。由于FGD的公司规模不断扩大,旧的办公楼已经显得十分狭窄,FGD决定将公司迁至一些新的办公楼。FG D希望职员被安置在尽量多的办公楼当中,这样对于每个职员来说都会有一个相对更好的工作环境。但是,为了联 系方便起见,如果两个职员被安置在两个不同的办公楼之内,他原创 2017-02-04 12:18:48 · 1210 阅读 · 0 评论 -
BZOJ 1088: [SCOI2005]扫雷Mine 模拟,规律,脑洞
Description 相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了 ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字 表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图: 由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据原创 2017-01-31 16:35:43 · 559 阅读 · 0 评论 -
BZOJ 1081: [SCOI2005]超级格雷码 神他妈规律,DFS
Description 著名的格雷码是指2n个不同n位二进制数(即0~2n-1,不足n位在前补零)的一个排列,这个排列满足相邻的两 个二进制数的n位数字中最多只有一个数字不同(例如003和001就有一个数位不同,而003和030有两个数位不同, 不符合条件)。例如n=2时,(00,01,11,10)就是一个满足条件的格雷码。 所谓超级格雷码就是指Bn个不同的n位B 进制数的排列满足上面的条件原创 2017-01-30 15:04:17 · 692 阅读 · 0 评论 -
Codeforces Round #278 (Div. 1) C. Prefix Product Sequence 模逆元,构造 2017/1/25
题目链接: 见这里题意: 考虑一个序列[a1, a2, …, an]。定义其前缀产生的一个序列[a1 mod n, (a1a2) mod n, (a1a2…an mod n)]。 现在给定一个n,你需要找到一个[1, 2, …, n]的一个排列组成的序列,使得按照如上规则产生的序列是[0, 1, …,n-1]组成的一个排列。 如果不存在,输出”NO”,否则输出”YES”,然后输出这个序列。如果原创 2017-01-28 14:49:46 · 391 阅读 · 0 评论 -
LightOJ 1106 Gone Fishing 贪心, DP, 堆优化 2017年1月23日
题目链接: https://vjudge.net/problem/LightOJ-1106 题意 给出n个湖,John最开始在第一个湖并且有h个小时的时间,每个湖初始可以钓到f只鱼,每单位时间可以钓到的鱼减少d只(单位时间为5分钟,不足d只时减少为0),从第i个湖到第i+1个湖需要t[i]单位时间。求最多能够钓到鱼的数量和在每个湖花费的时间。 数据 输入第一行表示数据组数 T,T <= 1原创 2017-01-26 21:04:37 · 497 阅读 · 0 评论 -
AtCoder Grant Contest 010 C - Cleaning DP, DFS,思维题 2017/2/6
有一棵N个节点的树,节点标号1-N,第i个边连着两个节点ai, bi。 每个节点有Ai个石头。每次你可以选择一对叶子节点(叶子节点是度数为1的点),然后将连接着两个节点的路径上的所有节点的石头数减一, 如果这条路径上存在石头数为0的点,那么不能进行这个操作。 问是否能把树上的所有石头全部移除。 数据 (2 <= N <= 1e5), (1 <= ai, bi <= N), (0 <= Ai原创 2017-02-11 23:19:19 · 767 阅读 · 0 评论 -
AtCoder Grand Contest 010 B - Boxes 验证解的存在性 2017/2/6
题意:给定N个围成一圈的数,重复进行下述操作: 挑选第i个数,从i+1转一圈回到i,依次减去1到N。 问是否存在一种操作使得最后整圈的数全为0。解题方法: 逆向思维好题! 将该过程倒着来看,就是每轮选择第i个数,从i+1转一圈回到i,依次加上1到N,将该操作设为操作1。问最后能否加到给定数列。令d[i]=a[i]-a[i-1],即考虑前数与后数之间的差,会发现,每次进行操作1时,差分的改变要么+1,原创 2017-02-11 21:51:05 · 432 阅读 · 0 评论 -
BZOJ 1121: [POI2008]激光发射器SZK 光路可逆,物理
Description多边形相邻边垂直,边长为整数,边平行坐标轴。要在多边形的点上放一些激光发射器和接收器。满足下列要求: 1发射器和接收器不能放置在同一点; 2发射器发出激光可以沿壁反射,最终到达一个接收器; 3发射器只能沿角平分线发射激光。求:最多可放置多少对发射器和接收器?点数4<=n<=100000 Input第一行给出一个数字N,代表有多少个点. 下面N行,用来描述点的坐标.其值在[-1原创 2017-02-10 13:03:54 · 401 阅读 · 0 评论 -
hdu 6000 Wash 贪心
题意:L堆衣服,N台洗衣机,M台脱水机,给出每台机器的每次工作的时间 Wi,Di。一台机器一次只能给一堆衣服工作,求洗完衣服最少需要多少时间。 分析:2016 ccpc/final的一个题,这个贪心这是好难想到啊。看了这篇题解:见这里,思想就是最小洗完时间加最大脱水时间取大,仔细想想这个贪心确实是正确的啊,虽然我不能证明它,但是直观感觉这样得到的答案确实是最优的。然后就按照这个思想贪心做就好了。代原创 2017-01-12 20:20:21 · 1030 阅读 · 0 评论 -
1110: [POI2007]砝码Odw 进制拆分,贪心
Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作。公司有一些固定容 量的容器可以装这些砝码。他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码。每个容器可以装的砝码数量有 限制,但是他们能够装的总重量不能超过每个容器的限制。一个容器也可以不装任何东西。任何两个砝码都有一个 特征,他们的中总有一个的重量是另外一个的整数倍,当然他们也可原创 2017-02-07 20:51:55 · 447 阅读 · 0 评论 -
BZOJ 1109: [POI2007]堆积木Klo 神分析, LIS, BIT, 二分
Description Mary在她的生日礼物中有一些积木。那些积木都是相同大小的立方体。每个积木上面都有一个数。Mary用他的 所有积木垒了一个高塔。妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置。一个上面写有数i 的积木的正确位置是这个塔从下往上数第i个位置。Mary决定从现有的高塔中移走一些,使得有最多的积木在正确 的位置。请你告诉Mary她应该移走哪些积木。 In原创 2017-02-07 20:05:58 · 566 阅读 · 0 评论 -
2016 ACM Amman Collegiate Programming Contest 训练赛部分题解
【题目】题目可以在这里看:http://codeforces.com/gym/101102/problem/A【A】Coins【题意】在A,B两个大集合里面选子集使得他们的和为W,并且两个子集的和的差【解题方法】背包问题计算方案数,注意要考虑空集。【代码君】#includeusing namespace std;#define LL long longconst原创 2016-09-30 21:11:09 · 2494 阅读 · 0 评论 -
Codeforces Round #373 (Div. 2) C. Efim and Strange Grade(贪心+模拟,t次进位之后的数是什么)
C. Efim and Strange Gradetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputEfim just received his grade for the last te原创 2016-09-27 19:03:42 · 861 阅读 · 0 评论 -
Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) C. Lengthening Sticks
C. Lengthening Stickstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given three sticks with positive integer原创 2016-09-08 20:17:48 · 568 阅读 · 0 评论 -
Codeforces Round #398 (Div. 2) 题解
题目链接:http://codeforces.com/contest/767A. Snacktower题意:给你n个数,从1到n乱序,让你从大到小输出,而且要根据先入后出的顺序,输出n行,如果当前行无法输出就直接换行再满足条件行一起输出。解法:直接开两个数组,一个数组存储n个数,;另外一个数组判断这个数是否已经存入来输出。#include using namespace std;原创 2017-11-14 20:07:56 · 345 阅读 · 0 评论