题意: n个数p1,p2....pn     两个数a,b 把它们分成A,B两个集合. 若x属于A,a-x一定属于A. 若x属于B,b-x一定属于B. 问是否可能将这n个数分成两个集合.若可以,输出每个数是属于A集合还是B集合(0:集合A,1:集合B) 思路: 这题我用二分图最大匹配做的.他们用并查集,额.. 一开始就没想过并查集哩,回头再看看并查集的思路吧. 若x属于A,则a-x属于A.若a-x属于A,则x属于A.集合B同理. 两两配对,若x和y可以装进一个集合,则将它们之间连条线.然后二分图…
过山车 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或P…
题目链接: http://poj.org/problem?id=3041 Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), which are conveniently…
/*1A 31ms*/ #include<stdio.h> #include<string.h> #define N 300 int n; struct node { int u,v,next; }bian[N*N*2]; int color[N],vis[N],link[N],visit[N],ma[N][N],f[N],head[N],yong; void addedge(int u,int v) { bian[yong].u=u; bian[yong].v=v; bian[y…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26864 思路:首先是spfa预处理出每个'G'到'H'的最短距离,然后就是二分最大距离,最大匹配验证即可. PS:这道题一开始没什么思路,然后想先最简单的spfa预处理写一下吧,然后写着写着就突然豁然开朗,有思路了!然后就AC了! #include<iostream> #include<cstdio> #include<cstring>…
毒瘤3 TimeLimit:1000MS  MemoryLimit:256MB 64-bit integer IO format:%lld   Problem Description 字节跳动有n款产品,和m  (m>=n)种不同的类型的客户.产品的价值由客户类型决定,第i种产品对于第j种个客户的价为值Aij. 形成一个n*m的价值矩阵.你需要为每款产品各选择一种要适应的客户.同时为最大化覆盖客户群体,且这些产品的适应客户 必须不同.问在为每个产品分配好客户类型后,把这些产品中价值第k大的数字最…
Professor GukiZ is concerned about making his way to school, because massive piles of boxes are blocking his way. In total there are n piles of boxes, arranged in a line, from left to right, i-th pile (1 ≤ i ≤ n) containing ai boxes. Luckily, m stude…
题目链接:http://codeforces.com/problemset/problem/852/D 题目大意: 有V个点,N个队伍,E条边,经过每条边有个时间,告诉你初始N个队伍的位置,求至少有K个队伍在不同的点的最短时间 题解: 我们二分答案时间,显然具有单调性.先floyd预处理两点之间的最短路,二分答案后把每个人和他可以走到的点连起来,跑一次最大匹配.若最大匹配数大于等于k,说明当前答案小了,否则大了 (每个匹配相等于一个人和他最终去的位置) #include<algorithm>…
Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering problems, all the stalls in the new barn are different. For the first week, Farmer John randomly assigne…
三个地点构成一个三角形. 判断一下两个人能否一起到shop然后回家,如果不能: 两个人一定在三角形内部某一点分开,假设沿着直线走,可以将问题简化. 三分从电影院出来时候的角度,在对应的直线上二分出一个分离点即可. 三分角度的方法:在shop和home两个点之间找一个点p,链接p和电影院,在这个线段上面二分出分离点. 注意:精度. #include <cstdio> #include <cstring> #include <cmath> #include <algo…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :有三个点,p0,p1,p2.有两个人alice,bob,他们初始位置为p0,现在 alice需要先到p2再到p1,bob是直接到p1.设计一条线路,使得他们初始一起走的路程尽可能地长(之后相遇不算).要求alice走的路程和最短路之差不超过t1,bob不超过t2. http://codeforces.com/contest/8/proble…
D. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output We all know the impressive story of Robin Hood. Robin Hood uses his archery skills and his wits to steal the money from rich, a…
Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 7455   Accepted: 3053 Description Have you ever read any book about treasure exploration? Have you ever see any film about treasure exploration? Have you ever explored…
#include<stdio.h> #include<string.h> #define N 300 #define inf 0x3fffffff int mark[N],link[N],n,m; int map[N][N]; int find(int u) { int i; for(i=1;i<=m;i++) {     if(!mark[i]&&map[u][i]) {         mark[i]=1;         if(link[i]==-1||…
最近开始学习图论的二分匹配,关于最大匹配做一次小总结,希望自己后面回头来看一目明了,也对刚接触的人有帮助: ps:开始有的文字很多....对于很多人来说一看到文字就烦啦...不过这个总结是针对匈牙利算法的总结,后面的匈牙利代码中有详细说明并结合图片说明,相信对刚接触的人会有帮助 个人觉得对于一个知识点最好是先知道这个”东东“是什么,然后在学习概念比较好,关于先知道是个什么“东东”--就是把这个知识点简单明了化,然后去了解其中令人头疼的概念! 关于二分匹配的最大匹配: 如果有G1.G2.G3三个女…
Description Data-mining huge data sets can be a painful and long lasting process if we are not aware of tiny patterns existing within those data sets. One reputable company has recently discovered a tiny bug in their hardware video processing solutio…
解题报告 二分图第一题. 题目描写叙述: 为了參加即将召开的会议,A国派出M位代表,B国派出N位代表,(N,M<=1000) 会议召开前,选出K队代表,每对代表必须一个是A国的,一个是B国的; 要求每个代表要与还有一方的一个代表联系,除了能够直接联系,也能够电话联系,求电话联系最少 思路: 电话联系最少就要使直接联系最大,又是一一匹配关系,就是二分图的最大匹配. 以下是匈牙利算法. #include <cstdio> #include <cstring> #include &…
The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23313   Accepted: 10383 Description Farmer John completed his new barn just last week, complete with all the latest milking technology. Unfortunately, due to engineering p…
 cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....       其实这个应该是昨天就写完的,不过没时间了,就留到了今天.. 地址:http://codeforces.com/contest/651/problem/A A. Joysticks time limit per test 1 second memory limit per test 256…
五一期间和然然打的团队赛..那时候用然然的号打一场掉一场...七出四..D1是个数据规模较小的题 写了一个暴力过了 面对数据如此大的D2无可奈何 现在回来看 一下子就知道解法了 二分就可以 二分能做多少个 每次对mid求一下不够的差值 比较差值与m的大小进行l与r的变换 由于自己一向对二分比较迷茫 自己琢磨出来一套神奇的办法面对边界数据 当小于和大于的时候 抛弃mid值 当等于的时候 直接break 然后打一发while试试能否向更好的情况偏移 当然在这个题目中 如果是直接break的时候就不用…
Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 47104    Accepted Submission(s): 12318 Problem Description Have you ever played quoit in a playground? Quoit is a game in which fla…
[题意]有n块草地,一些奶牛在草地上吃草,草地间有m条路,一些草地上有避雨点,每个避雨点能容纳的奶牛是有限的,给出通过每条路的时间,问最少需要多少时间能让所有奶牛进入一个避雨点. 和POJ2112很类似,都是使最大的走过路径长度和最小的题,也是先Floyd再二分求最大流看是否满流--昨天刚做啊,第一下竟然没看出来,真是太年轻太Naive了!--=_= [思路]拆点建图,每个点的(in)和(out)间容量oo,源点向每个有牛的点(in)连边,容量为该点的牛数,每个有避雨点的点(out)向汇点连边,…
Cable master Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35269   Accepted: 7513 Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to…
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1566    Accepted Submission(s): 822 Problem Description Adam and Eve play a card game using a regular deck of 52 cards. The rule…
这道题看了大家都是用三分做的,其实这道题也是可以用二分来做的,就是利用一下他们的单调性. 对于N个点,总共要考虑N(N+1)/2个距离,距离可以用二次函数表示,而且开口都是向上的. 下面具体说一下二分的过程: 令mid=(L+R)/2,求出在mid时刻的最大距离,同时标记这个最大距离所在的二次函数, 这时候需要判断下mid时刻与对称轴之间的位置关系 1.当mid在对称轴右边时,由于开口是向上的,则最大距离往右是递增的,不可能取到更小值,所以令R=mid: 2.同理,当mid在对称轴左边时,由于开…
知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速发展时期,得到了越来越广泛的应用,相机.手机.掌上电脑.随身听上处处都可能用到闪存卡.闪存卡有很多种类,常见的有CF卡.SD卡.MMC卡.记忆棒.SM卡.xD卡等,其中CF卡已经有了相当长的历史,由于其建立标准的时间长.兼容性好.容量大.价格低等原因而得到了广泛的应用,是通用性 最强的存储卡之一.…
http://poj.org/problem?id=2104 题意:给出n个数和m个询问求区间第K小. 思路:以前用主席树做过,这次学整体二分来做.整体二分在yr大佬的指点下,终于大概懂了点了.对于二分能够解决的询问,如果有多个,那么如果支持离线处理的话,那么就可以使用整体二分了. 在这题二分可行的答案,根据这个答案,把询问操作丢在左右两个队列里面分别递归继续按这样处理.注释里写的很详细. #include <iostream> #include <cstdlib> #includ…
原题: Solve the equation:         p*e-x + q*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0         where 0 <= x <= 1. Input Input consists of multiple test cases and terminated by an EOF. Each test case consists of 6 integers in a single line: p, q, r, s…
题目链接:D. Multiplication Table 题意: 给出N×M的乘法矩阵要你求在这个惩罚矩阵中第k个小的元素(1 ≤ n, m ≤ 5·10^5; 1 ≤ k ≤ n·m). 题解: n和m最大都是5e5那矩阵最大就有2e11不能够暴力,其实这里就应该想到要用二分做的,但是我做题的时候脑抽@.@想要推规律,然后就决决了.那么讲一下二分怎么做,就先简单的二分答案在(1-n*m)中二分,然后cheak函数中找所有矩阵中比所给值小的元素,个数大于等于k为成立条件.复杂度(O(n*log(…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ7.html 题解 这题是Unknown的弱化版. 如果这个问题出在序列上,那么显然可以CDQ分治 + 斜率优化 + 凸包上二分来做. 那么它出在树上? 点分治. 写挂了好多地方调了好久,自闭了. 代码 #pragma GCC optimize("Ofast","inline") #include <bits/stdc++.h> #define clr(x) me…