二分
算球?
在校学生
展开
-
51nod 1243 排船的问题
二分,分了老半天也没分出来结果,只好跑去找题解 参考:http://www.cnblogs.com/TheRoadToTheGold/p/6421882.html 这题还有O(n)解法,后边讨论里说可以转化成最大子段和。。。using System;using System.IO;namespace ConsoleApplication1{ class Program {原创 2017-05-25 18:48:37 · 401 阅读 · 0 评论 -
poj 2773 Happy 2006(容斥+二分)
输入m和k,求与m互质的第k个数,与m互质的第一个数为1。先分析求某个范围内与m互质的数,肯定要容斥的,现在求第k个与m个互质的数字,而且范围不知道,既然不知道,那就二分来找这个范围,找到后也就找到结果了。#include <stdio.h>#include <string.h>typedef __int64 LL;const LL One = 1;const LL INF = One<<61原创 2017-08-23 14:46:44 · 204 阅读 · 0 评论 -
UVALive 4683 Find The Number(容斥+二分)
题单第六题:http://blog.csdn.net/shengtao96/article/details/52490020 题意:给你k个数(保证这k个数不能互相整除),找出第n个只能被这k个数里面的某一个数整除的数(不能被2个或者2个以上的数整除)。 看完题想想,应该就能二分来做,问题是怎么找第n个只能被这k个数字里面某个数字整除的数字。容斥的时候我们把相交的部分全部减去,只剩下各个集合不相原创 2017-08-23 17:07:58 · 325 阅读 · 0 评论 -
bzoj 2440: [中山市选2011]完全平方数(二分,容斥,莫比乌斯反演)
题目并不难,不过没想起来 题解:http://blog.csdn.net/qq_35649707/article/details/75930849 看完题解,还是wa了好几发,上界设小了。。#include <cstdio>#include <cmath>#include <cstring>#include <climits>const int MAXN = 1e5;int mu[MAX原创 2017-08-08 15:49:12 · 372 阅读 · 0 评论 -
51nod 1557 两个集合
先是用快排+二分,判断各种情况,后来发现会漏掉某些情况,然后看数据,感觉可以用二分图匹配来做,但是有自环的情况,我不会处理,不过评论里面有人用二分图匹配做,也是位大佬 然后就看了大佬的讲解,也是快排+二分,但是情况判断的很准 “ 我用的方法复杂度是 O(nlogn),快排+二分,思路挺简单,但是容易漏,要想全才行。这个问题也就是数对儿问题,x+pA=a 或者 x+pB=b。首先,我们只用分析原创 2017-08-09 23:18:06 · 306 阅读 · 0 评论 -
51nod 1278 相离的圆
以P为圆心,R为半径的圆就是线段(P-R,P+R),对线段按照左端点从小到大排序,然后二分,二分是用每个线段的右端点来写的。#include <bits/stdc++.h>using namespace std;struct Line{ int s,e;};Line ls[50010];int n;bool cmp(const Line& l1, const Line& l2){原创 2017-07-24 16:36:09 · 197 阅读 · 0 评论 -
51nod 1267 4个数和为0
先把任意两个数的和打表出来,然后枚举两个数,然后再在那些和里面查找 0-n1-n2。查找到后,看一下和n1或者n2是否重复,如果不重复,才符合条件。还可能有好多两个数字的和是一样的,所以不要查找到比过就完了,还要往后看看数字是否一样。#include <bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN原创 2017-07-31 21:32:24 · 248 阅读 · 0 评论 -
codeforces 817C Really Big Numbers
第一眼感觉是dp,但是不知道该怎么写。看cf题解是二分,就按照题解写了,不过还是要看看dp解法。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n,s;bool check(ll num){ ll sum = 0; ll temp = num; while(temp) {原创 2017-06-21 14:18:53 · 361 阅读 · 0 评论 -
51nod 1001 数组中和等于K的数对(二分)
A数组排序,设b=K-A[i],然后在A里面二分查找b#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 5e4+10;int num[MAXN];bool mark[MAXN];//查找过的数字标记为trueint k,n;bool bs(int numb原创 2017-06-19 18:33:39 · 272 阅读 · 0 评论 -
Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market
看了别人的题解,看懂题目了,说是二分,然后就二分做,结果就是超时了。我枚举了k,对每个k,二分求的花费 看了看cf题解,说是二分k,然后又二分,边界问题处理了好久。。平时二分做的少,碰到二分的时候,处理边界就是个大问题了。。要练练二分了。。#include <iostream>#include <algorithm>using namespace std;typedef long long原创 2017-06-03 17:52:53 · 275 阅读 · 0 评论 -
poj 2112 Optimal Milking(最大流,二分,floyd)
最小化最大值,二分。先用floyd处理两点之间的最短路,然后二分距离,判断当前距离是否合法。因为题目说至少有一个解,所以二分时对与每个距离,判断最大距离是当前距离的情况,能否使每头牛都接受服务。一直找到最小的最大距离。 心态写炸了,一直tle。http://www.hankcs.com/program/algorithm/poj-2112-optimal-milking-manager.html原创 2017-10-28 16:04:39 · 198 阅读 · 0 评论