题目地址:传送门
这题虽然是DIV1的C。。但是挺简单的。。只要用线段树分别维护一下横着和竖着的值就可以了,先离散化再维护。每次查找最大的最小值<=tmp的点,可以直接在线段树里搜,也可以二分去找。
代码如下:#include
#include
#include
#include
#include <algorithm...
分类:
其他好文 时间:
2015-06-29 22:18:21
阅读次数:
148
题目地址:POJ 1987
点分治模板题,跟POJ 1741几乎一样,。。
代码如下:#include
#include
#include
#include
#include
#include
#include
#include
#include <...
分类:
其他好文 时间:
2015-06-27 22:53:36
阅读次数:
137
John's trip
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 5950
Accepted: 1946
Special Judge
Description
Little Johnny has got a new car. He dec...
分类:
其他好文 时间:
2015-06-25 14:08:19
阅读次数:
136
还是以前看不懂的一个题目,现在回头看起来 水死了 ,但是好像让我写也是写不出来的。对照着网上的实现。也算全部理解了,代码都经过我详细注释。里面感觉有很多 搜索的惯用思维方法,应该学会如何把这种常见问题抽象成代码方案。比如如何判断行走的方法。学会怎么刻画最短路径搜索树!
#include
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-06-24 14:46:34
阅读次数:
118
最短路径 Time Limit: 1000 MS Memory Limit: 32767 K Total Submit: 208(28 users) Total Accepted: 31(20 users) Rating: Special Judge: No
Description
给出一个有向带权图G,针对该图有如下的两种操作:
(1)标记该图的一个点
(2)找到两点间的只通...
分类:
编程语言 时间:
2015-06-20 11:53:52
阅读次数:
120
Touring
Time Limit: 1000 MS
Memory Limit: 32767 K
Total Submit: 257(46 users)
Total Accepted: 108(39 users)
Rating:
Special Judge: No
Description
The...
分类:
编程语言 时间:
2015-06-16 09:21:57
阅读次数:
158
题目地址:HDU 5269
比赛的时候想到了分治的思路,但是脑残了。,。写麻烦了。。。调了好久也没调出来。。赛后优化了一下。。就过了。。
我的思路是先排序,排序是按照的将每个数字的二进制表示倒过来的字典序从大到小排,比如样例2中的2,6,5,4,0,二进制分别是010,110,101,100,000,排序之后是
101
110
010
100
000
这样的话就把后缀相同的都给放在一...
分类:
其他好文 时间:
2015-06-13 23:11:38
阅读次数:
313
题意:f(x) = 满足(a * b)|x(x%(a*b)==0)的有序对(a,b)的个数,输入n,求f(1) + f(2) + ... + f(n)。
分析:对于任意一个a*b|c可以视为a*b*c = x,那么就可以把问题转化为a*b*c
设a
1、对于三个数字都相同的情况,只计算一次: i i i
2、对于三个数字中有两个相同的情况,计算3次: i i j, i j i, j i ...
分类:
其他好文 时间:
2015-06-09 17:31:28
阅读次数:
196
分析:直接求出凸包,再算边长即可。另外只有一个点时为0.00单独处理,两个点直接为距离也单独处理。
#include
#include
#include
using namespace std;
struct Point
{
Point(){}
Point(double _x,double _y):x(_x),y(_y){}
Point operator-(const Point& a)...
分类:
其他好文 时间:
2015-06-09 17:12:49
阅读次数:
114
题意:n和m,m个十进制的单位数字(0-9),求最小的数ans,使ans是n的倍数(除0),且ans中不包括输入的十进制数字。不存在输出-1。
使用BFS搜索,从小向大枚举可以保证构造出来的数是递增的,若不加判断直接搜索的话,复杂度非常高。如果一个数%N==0,这个数就是N的倍数。在没有找到的时候,若A%N==B%N,且A
#include
#include
using namespace s...
分类:
其他好文 时间:
2015-06-09 13:50:11
阅读次数:
118