
思维
yp_2013
这个作者很懒,什么都没留下…
展开
-
hdu 5600 N bulbs
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5600 题意: n个灯泡,一个人从左走到右最后离开,每次可以往左右两个相邻的走,没走过一个将开关取反,问最后能不能把所有灯全部关掉并且离开,1为亮,0为灭思维题: 考虑此问题的子问题,从a走到b,回来,再回去并走出去,会发现结果是两边的灯没变,中间全部取反,由于只是0,1序列,那么我们只需要将0两原创 2016-01-18 08:49:11 · 491 阅读 · 0 评论 -
第四次
http://acm.csu.edu.cn/OnlineJudge/problem.php?cid=2101&pid=6题意: 狗追小偷,如果找到了他的足迹,则速度变为原来2倍,有若干个出口,问最后小偷能否顺利逃脱。 思路: 枚举每一个出口,从小偷开始bfs,如果下一个点满足条件(小偷到这个点的距离+到出口距离<狗到这个点距离+到出口距离+1 /2) 则可以转移,如果能转移到出口则可以逃脱原创 2016-03-29 09:26:45 · 351 阅读 · 0 评论 -
CSU 1654: 收集金币
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1654每次模拟一个小车装下的币就可以了!通过记录位置来进行计算!#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=1e5+10;int a[maxn],n,pos[maxn];int m原创 2016-02-28 15:31:45 · 370 阅读 · 0 评论 -
51nod 1461 稳定桌
http://www.51nod.com/onlineJudge/problemSolution.html#!problemId=1461题意:有n个桌腿,要砍掉某些桌腿使得剩下的桌腿能支撑桌子。规定剩下的桌腿中长度最大的桌腿的数量如果超过一半即可支撑桌子。砍掉每个桌腿需要付出代价。求最小的代价和。枚举。假如最后剩下的桌腿的最大长度为lenth,这样长度的桌腿有num个。那么长度大于lenth的桌腿原创 2016-02-26 00:02:58 · 903 阅读 · 2 评论 -
51nod 1448 二染色问题
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1448题意: 一个N*N的网格,初始为白色。现在有一个K*K的印章,每次操作:你可以用印章把网格中一个K*K的子矩形染成黑色或白色。如果一个格子被多次染色,那么后一次染色会覆盖掉前一次的。现在,给你N*N的由黑白两色构成的图案board(board[i][j]为第i行第j列原创 2016-02-25 20:35:38 · 770 阅读 · 0 评论 -
hdu 5288 OO’s Sequence
http://acm.hdu.edu.cn/showproblem.php?pid=5288题意:定义f(l,r)为区间中不能整除其余数的数的个数,求增序区间中f的和。直接求肯定T,那么就算每个位置的数对最终答案贡献了多少次,那就找到离他最近的左右两个他能整除的数的位置,ans+=l*r,记录位置,因为数的大小只有1000,所以枚举因子去找就ok了!#include<bits/stdc++.h>u原创 2016-02-23 20:26:01 · 315 阅读 · 0 评论 -
Codeforces 8VC Venture Cup
http://codeforces.com/problemset/problem/626/D 预处理出差值,然后组合数学~#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=2e3+10;int a[maxn],n;double summ[5500], f[5500];int mai原创 2016-03-16 20:57:47 · 525 阅读 · 0 评论 -
Codeforces 622 C. Not Equal on a Segment
传送门: http://codeforces.com/problemset/problem/622/C题意:输出给定区间不等于e的位置 比赛的时候用愚蠢的方法一直wrong,然后听到q神说用双指针方法,记录每个位置右边最靠左的不等位置就ok了,第二天写了一发果然过了!#include<bits/stdc++.h>using namespace std;const int maxn=1e6+1原创 2016-02-11 10:42:26 · 831 阅读 · 0 评论 -
Codeforces 625 D Finals in arithmetic
传送门: http://codeforces.com/contest/625/problem/D题意: 一个数加上倒过来的数得到一个数!现让你还原这个数! 这是一道思维题,建设性算法的题 很简单,恢复原序列的方法就是根据对称的位看合法否,然后将和除以二就还原成功了,具体处理的时候需要注意有进位,因此讨论两种进位的情况,逐个还原成对应位的实际和 就ok了!最后还原的时候还要单独处理奇数位最中间原创 2016-02-08 12:43:53 · 692 阅读 · 0 评论 -
Codeforces 625
其实就相当于你是在最后的时候先拿了返回的c元,然后再去买,所以刚开始的时候要把它减掉(你为什么可以用这个价钱去买到,相当于你提前把返的钱给要回来了)注意分类讨论#include <bits/stdc++.h>using namespace std;int main(){ long long int a,b,c,n,ans; cin>>n>>a>>b>>c; if(a ==原创 2016-02-07 21:09:39 · 683 阅读 · 0 评论 -
Codeforces 623 B. Array GCD
传送门: http://codeforces.com/contest/623/problem/B 题意: 有n个数,你可以花费i*a去删除长度i的线段,也可以花费B去让一个数+-1,但是删除操作只能进行一次,+-1对一个数也只能操作一次 并且删除操作不能删除所有的数 问你最小花费多少,可以使得剩下的数的gcd不等于1题解: 很显然,因为不能删除完,所以必然第一个数和最后一个数会剩下来所以原创 2016-02-06 14:04:55 · 426 阅读 · 0 评论 -
Codeforces 624
这场比赛当时第二天有事情,因此赛后做的重现赛!传送门: http://codeforces.com/problemset/problem/624/A水题#include<bits/stdc++.h>using namespace std;double d,l,v1,v2;int main(){ cin>>d>>l>>v1>>v2; printf("%.12f\n",(l-d)原创 2016-02-06 10:41:05 · 394 阅读 · 0 评论 -
hdu 5565 Clarke and baton
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5565题意: 一堆数字,每次最大的数减1,如果最大的有多个,则取序号最小的,问最终序列?其实这道题目还是蛮有意思的,一想肯定复杂度和q有关,而且肯定要从值入手,那么想每次减少的值肯定是从目前的和从上一个值降下来的取序号最小的,那么很显然就可以开两个vector来实现了!这道题真的是醉了,交c++才能过原创 2016-01-28 18:57:46 · 371 阅读 · 0 评论 -
hdu 5613 Baby Ming and Binary image
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5613题意: 给出相邻9个格子的和矩阵,求原矩阵思路: 根据最上和最下都为0,构造递推方案,根据行数很少,很容易想到状态压缩枚举最左边一侧的值,这样就可以自上到下,自左到右去递推值了,注意判断合法性的方法就ok了,一定是矩阵的每一个点都要判断到,只要不遗漏就ok了!!!(由于每次递推使之满足的是左上原创 2016-01-24 17:45:03 · 508 阅读 · 1 评论 -
续hdu 5592 ZYB's Premutation
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5592 还是之前的那道题,我再来一发线段树的写法!!!!很板子的写法,k号点表示的区间是left到right!! 每次都是搜寻那个前缀和,如果要是在左边区间则去左边找,否则去右边区间找剩余的和!!!! 还有就是注意写线段树一定要return ; !!!!!#include<bits/stdc+原创 2016-01-18 23:05:28 · 401 阅读 · 2 评论 -
hdu 5603 the soldier of love
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5603题意: 有n条线段,m个组,每个组中包含一部分点,求问对于每个组,有多少条线段包含组中至少一个点!!!思路: 很神奇的解法! 一看分组很多且分组里面的点很多,既然总共的点数就是1到1e6,那么很自然的想法肯定就是扫面一遍这1e6个点,然后线性地把答案给算并存下来!首先我们应该反着求,即求不覆原创 2016-01-18 16:10:07 · 679 阅读 · 1 评论 -
hdu 5601 N*M bulbs
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5601 又变成n*m的矩阵了,思路还是一样的,不过也是很巧妙的方法!!!!!思路: 将格子黑白染色,我们现在需要考虑的是从一种颜色的格子走到另一种颜色的格子带来的中间影响是什么 ? a b c d a->d 显然可以看出我们可以这样走,a b a b d 那么可以得出结论,我们在相同颜色的格原创 2016-01-18 09:07:30 · 574 阅读 · 1 评论 -
hdu 5402 Travelling Salesman Problem
原来那道模拟题是这样的,因为我走的奇偶决定了我现在是在左还是在右,我刚开始想的是要走到断点的上一层或本层, 但实际上应该固定每次只走两行,这样每次都是从左边开始了,然后我只需要考虑从左边去把空格绕了就行,然后就是从右边下来了,然后就反着走就可以了~还是需要加强对这种 思维题目的练习~#pragma comment(linker, "/STACK:1024000000,1024000000") #i原创 2016-06-01 18:22:55 · 311 阅读 · 0 评论