自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qqspeed

希望CCNU的ACM越来越好,再见!

  • 博客(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 3397 Sequence operation

题目在此跟着13哥学线段树,

2013-07-22 19:52:40 666

原创 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

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除