第K大也就是第n-K+1小,所以就可以的二分答案了 (江哥讲过一道类似题) 二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n-K+1个数,然后就可以跑匈牙利了,对于一个坐标(x,y)如果满足a[x][y]≤a[x][y]当前答案,就把第x行向第y列连边,然后跑匈 ...
分类:
其他好文 时间:
2016-04-07 22:05:49
阅读次数:
200
首先我们知道我们要求的是使得最大值最小,显然是要二分的 我们先对原串建出后缀自动机 之后二分答案是第k小的字符串 对于答案可行性的判定: 我们注意到对于每一个区间,其字典序最大的子串一定是区间的某个后缀 那么我们不妨从后往前扫,这样每次只会增加一个后缀 我们只需要判断这个后缀是否比当前答案小就可以了 ...
分类:
其他好文 时间:
2016-04-04 21:03:10
阅读次数:
285
二分答案再判负环 #include<cstdio> #include<algorithm> using namespace std; int read_p,read_ca; inline int read(){ read_p=0;read_ca=getchar(); while(read_ca<'0 ...
分类:
其他好文 时间:
2016-04-01 22:08:38
阅读次数:
180
题目大意:给一个N*M的矩阵,选出N个数,使得每行没列只选一个数,求第K大的数的最小值是多少? 二分答案,第k大的数<=x,则有N-k+1个数<=k,用二分图判定。 #include<bits/stdc++.h> using namespace std; int n,m,k; int a[255][ ...
分类:
其他好文 时间:
2016-03-29 18:05:05
阅读次数:
141
为何感觉SHOI的题好水。。。又是一道SB题
从左到右枚举每一个区间,遇到一个扇形的左区间就+1,遇到右区间就-1,然后再树状数组上2分答案,还是不会码loglog的。。SHOI2013似乎还有一道题发牌也是类似的维护方法。。#include
#include
#include
#include
#include<cst...
分类:
编程语言 时间:
2016-03-23 11:25:29
阅读次数:
192
【题意】 给定n点m边的无向图,对于边u,v,从u到v边权为c,从v到u的边权为d,问能够经过每条边一次且仅一次的最小权值和。 【思路】 二分答案mid,然后切断权值大于mid的边,原图就变成了一个既有无向边又有有向边的混合图,则问题转化为求混合图上是否存在一个欧拉回路。 无向图存在欧拉回路,当且仅
分类:
其他好文 时间:
2016-03-22 11:59:52
阅读次数:
209
第KK大看成第KK小各种WA。。。
第KK大也就是第n?K+1n-K+1小,所以就可以愉快的二分答案了
二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n?K+1n-K+1个数,然后就可以愉快的跑匈牙利了,对于一个坐标(x,y)(x,y)如果满足a[x][y]≤a[x][y]\leq当前答案,就把第xx行向第yy列连边,然后跑匈牙利判断最大匹配是否大于n?K+...
分类:
其他好文 时间:
2016-03-21 18:28:59
阅读次数:
183
这道题的意思是给你一个有向图, 每条边上有一个最大载重量, 现在有x头牛要从顶点1走向顶点n, 每头牛要载的重量都是一样的, 问你最多能载多少的重量? 可以二分答案, 算出每头牛的载重, 然后修改边权, 跑一次最大流即可判断当前答案是否正确, 二分答案即可, 注意由于原始边权/每头牛的载重量可能会很
分类:
其他好文 时间:
2016-03-20 21:26:32
阅读次数:
368
先二分答案,然后建分层图跑最大流,流量是人数则可行
分类:
其他好文 时间:
2016-03-19 22:54:27
阅读次数:
226
这一道题和HDU2295是一样 是一个dancing links重复覆盖解决最小支配集的问题 在给定长度下求一个最小支配集,只要小于k就行 然后就是二分答案,每次求最小支配集 只不过HDU2295是浮点,这里是整数 我写的一个比较暴力 然后另一个是离散化的
分类:
其他好文 时间:
2016-03-18 23:21:23
阅读次数:
377