- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 HDU 3095 Eleven puzzle
题目八数码变成了11数码,方法不变,注意如果步数已经>20,就可以直接退出了;用的双广,map标记,看来我其实还不会双广,跑了4187Ms,差点没过呀.看着讨论区,有个人用双广200+ms过的,太猛了.....居然还有0ms的 ...Orz...#include#include#include#include#include#i
2013-07-31 15:35:17 1021
原创 hdu 1540 Tunnel Warfare
题目线段树.三种操作:D x->摧毁村庄x, R -> 修复被毁时间最近的那个村庄 Q x->查询包括x的最大连续的村庄也就是查询某个区间的连续值吧,但麻烦的是只知道这个区间包含了x.如果x在左子树,并且左子树的rsum包含了x,那么说明右子树有一段也是我们所求的, 右子树同理.#
2013-07-29 20:18:52 829 3
原创 hdu 3265 Posters
题目线段树求面积的并,虽然每个矩形有个孔,但我们可以把他分成四个矩形,然后就.....环境不支持__int64,敲完编译才发现==#include #include #include #include using namespace std;#define N 50005#define __int64 long longinline int in
2013-07-26 15:18:15 790
原创 hdu 1542 Atlantis
题目跟着13哥学线段树。详情请见上一篇转载的博客。#include#include#include#includeusing namespace std;#define N 210struct Line{ double x1,x2,y; int cov;}l[N];bool cmp(Line i,Line j){ return i
2013-07-24 15:55:44 774
转载 线段树+扫描法解决矩形的面积并、周长并问题
矩形的面积并问题:平面上有N个矩形,各边均平行于坐标轴,求它们覆盖的总面积(重复覆盖的只计一次)。矩形的周长并问题:平面上有N个矩形,各边均平行于坐标轴,求它们覆盖形成的多边形的周长。【算法】面积并:先将所有矩形的上边界和下边界作为水平线段记录下来,并对所有矩形的左右边界对应的横坐标离散化,设离散化后有N个横坐标,则中间有(N-1)段。对这(N-1)段建立线段树(注意,仍然和普
2013-07-24 15:51:04 1015
原创 HDU 3911 Black And White
题目线段树。两种操作,一种是异或,一种是查询最长的连续的1;#include#include#includeusing namespace std;#define N 100010inline int input(){ bool IsN=0; int ret=0; char c; c=getchar(); while(c
2013-07-24 10:59:11 968
原创 hdu 4604 Deque
题目容我理下思路吧==先贴丑陋的代码#include#include#include#includeusing namespace std;#define N 100010int t,n,a[N],b1[N],b2[N],len1,len2,p,c1,c2;mapm;inline int input(){ bool IsN=0; int re
2013-07-23 23:24:37 1446 16
原创 hdu 3308 LCIS
题目呵呵,原来不是最长公共上升子序列,原来是最长连续子串==有明显的修改和查询操作,果断线段树。对于每个节点,要存他的左右下标,和左边的数,右边的数,左边的LCIS,右边的LCIS,和总的LCIS;关键在于向上更新。#include#include#includeusing namespace std;#define N 100010inlin
2013-07-20 15:53:23 922
原创 Single Round Match 585 Div2 A B
A: 求数组中最少有多少个递增子序列,每个子序列的数组下标连续 数数 a[i]B: 做法就是: (点数 / 3 ) 向上取整==
2013-07-20 01:06:09 783
原创 hdu 1023 Train Problem II
题目传送门在喵呜的csdn刚好看到了,然后就就做了百度百科——卡特兰数特别大,c++要用高精度,所以用的javaimport static java.lang.System.out;import java.util.*;import java.io.*;import java.math.BigInteger;public class Main{
2013-07-19 16:46:39 892 1
原创 HDU 1018 Big Number
题目传送门求N!的位数,N的范围是10^7解法:大湿想得好办法,ans = log10(n!)=log10(n)+log10(n-1)+.....+log10(2)+log10(1);证明显然。一开始用log(i)/log(10) 无情的TLE;没想到log函数可以这样用 log10(i),受教了!#include#include#include
2013-07-18 16:39:09 713
原创 hdu 3415 Max Sum of Max-K-sub-sequence (单调队列)
题目在此N个数,围成一个环,求最大子段和,但数的个数不能超过K;这让我想起了地大比赛的那道题,只不过地大比赛的那道数的个数没有限制。当时Wiking的做法是先把数组扩展一倍,然后按照普通最大子段和的dp方法做,如果发现子段数的个数>=n,那就从这个数开始,往前暴力n个数,求出最大和,作为此处的dp值。这我也那样做了,TLE了,估计是写的太水了,后来换得单调队列记
2013-07-17 17:22:30 809
转载 蔡勒公式
http://baike.baidu.com/view/598757.htm比((y-1)+(y-1)/4-(y-1)/100+(y-1)/400)%7强大,可以计算任意天星期几,((y-1)+(y-1)/4-(y-1)/100+(y-1)/400)%7只能计算一年的第一天,其他要在基础上推,但我还是比较喜欢后者 = = 这算不算强迫症呀==
2013-07-17 17:05:56 941 2
原创 Poj 2823 Sliding Window (单调队列 or 线段树)
题目在此先贴线段树吧,就是查询区间的最大值最小值;#include#include#includeusing namespace std;#define N 1000010struct{ int l,r,mx,mi;}root[N*6];int n,k,a[N];void update(int t){ root[t].mx=max(root[
2013-07-17 09:56:11 1057
原创 hdu 翻纸牌游戏(BFS)
BFS啦。一开始用map来记录每个字符串,无情的MLE了 ==!!后来发现只有20位,而且只有0和1,就把他转换成数字了,而且利用“^”运算,可以避免每次都把字符串变成数字。在百度百科上学了点双向广搜,分别用交替搜索和搜素点少的,第二个用时少。 #include#include#include#include#include#include#include
2013-07-08 13:35:40 1068
空空如也
求教,hadoop-2.2.0升级hadoop-2.6.0。
2015-09-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人