自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逝水流殇

我相信付出就有回报

  • 博客(23)
  • 收藏
  • 关注

原创 hdu 4737

奉献一个线段树nlogn的做法= =网上各种暴力太不靠谱了= =那个30*n的感觉还是不够好。。。。按照暴力的思路 我们要找每一个i最右能到的位置ed然后我们可以一个个的更新   利用x|0 = x初始化每个点都是0每一次到i这个位置的时候把i-1更新为0,然后一直往右添加点ed直到异或>=m为止到下一个点的时候接着这个ed往右更新就行了//#p

2013-09-14 22:34:39 604

原创 HDU 4689

出题人满满的恶意伤不起啊。。。。一眼过去谁都以为状压dp= =  各种T就不说了。。赛后想想这尼玛N^2水dp啊。。。dp[now][left]表示到now,前面还有left个+号没有填。。然后转移的时候这样考虑    如果当前s[now]=='+' 有2种选择,   我可以用当前的now去把now之前的某个+号填上(这样就有C(left,1)个+号给我选,然后到n

2013-08-21 11:24:07 1060

原创 hdu 4616 Game

树形dp 很容易想到的一种dp状态是dp[i][trap][fa]表示当前结点为i,经过trap个陷阱,从fa那里转移过来的最优解,虽然空间理论上只有O(n),但是要写成代码就得用vector或者map什么的。。。 明显的感觉要挂。。 (我赛后用map写500ms过了。。。数据弱么。。)多校的时候想到了这种状态。。但是没敢写T_T  4618那题也是这样 唉 太坑了T_T 以后不管怎样先写了再

2013-07-27 21:50:30 962 1

原创 UVA 10829 L-gap substrings

求字符串中满足UVU形式子串个数,其中V的长度固定为gap,U不能为空      首先枚举U的长度l,然后类似于poj3693那题的方法,将原串分为n/l组;     比如     bbaabaaaaa   l = 2时,分成    bb |  aa |  ba |  aa|  aa      然后显然有个性质——左边的那个U必然要包含且只包含一个端点(其实右边也一样,但是

2013-07-12 12:07:37 1982 1

原创 后缀数组训练计划

暑期集训开始了= = 挖个坑 看能不能填完。。。1.  hdu 1403/pku 2774      没什么好说的。。。把2个字符串拼起来,中间用个不会出现的字符隔开,注意选答案的时候要保证2个height是来自于不同的串     #include #include #include #include #include #include #include #inc

2013-07-09 00:26:19 621

原创 hdu 4570

当时现场赛看不懂。。。  最近几天偶然又看到这题了。。。边查字典边看发现就是一道水题。。。dp[i] 表示从第i个level往后扩展所需要的最少table数,然后转移是dp[i] = min(dp[i],dp[j]+s[i]*2^(j-i));   j = i+1,i+2,i+3.....,i+20#include #include #include using nam

2013-06-11 23:20:40 1405

原创 hdu 4552

ac自动机模版题#include #include #include #include using namespace std;#define LETTER 26#define MAXNODE 500005char key[51],s[100001];int n,cnt = 0,root;struct node{ int count; int

2013-05-18 23:11:49 617

原创 hdu 4549 M斐波那契数列

f(n)表示斐波那契数列的第n项F(n) = a^f(n-1)*b^f(n)  这个推一下就知道了然后f(n)可以用矩阵快速幂求1 1                         f(n+1)    f(n)1 0  的n次幂   =   f(n)         f(n-1)   就行了(至于为什么有这个自己度娘把。。) 但关键点在于f(n)可能很大 a^f(n-

2013-05-18 20:40:34 492

原创 hdu 4546

思路是优先队列先排序,然后Item类记录sum是当前难度的和,next是下一个要取的题目初始化推入0,0然后循环m次,每次取出sum+a[next],然后再推入2个,要么取next,要么不取这个,去取它的下一个具体的看代码#include #include #include #include #include #include #include #

2013-05-17 23:00:55 707

原创 hdu 4533

思路就是把被子拆成4个点,如果某个点(x,y)在(0,0)-(t,t)内的话,如果这个点是左下角或者右上角 面积就+=(t-x)*(t-y),反之面积-=(t-x)*(t-y);(画个图就知道了)而(t-x)*(t-y) = t*t-(x+y)*t+x*y所以,需要维护3个系数1,-(x+y),x*y;在代码中体现#include #include #include #include

2013-03-31 01:03:29 684

原创 hdu 4517

#include #include #include using namespace std;char map[2002][2002];int cnt[2002][2002];//我的map下标从1,1开始//cnt保存从左上角(0,0)到(i,j) 的*的个数int n,m;int main(void){// freopen("","r",stdin); whi

2013-03-24 10:13:30 553

原创 百度之星3.23 第一题

直接二分答案 然后判断是否符合要求  复杂度n*(log(n*1000))#include #include #include #include using namespace std;int ti[10001];int n,k;int main(void){// freopen("","r",stdin); while(scanf("%d %d",&n,

2013-03-23 23:10:30 461

原创 dp专题练习

开学了~ 开始专题训练 就从dp开始吧  这篇日志会一直更新的多重背包poj 1014/hdu 1059 Dividing  http://blog.csdn.net/xing89qs/article/details/8618166

2013-02-27 16:04:37 291

原创 poj 1014 Dividing

多重背包即可设dp[j]  表示是否可能分出价值为j的石头最后判断dp[total/2]是否为真即可贴代码#include #include #include using namespace std;int num[7];bool dp[120001];int main(void){ //freopen("","r",stdin); int t = 1;

2013-02-27 16:04:07 313

原创 TC SRM 571 div2

弱菜还在努力冲向div1中T_T,今天研究了好久1000pt 终于PASS SYSTEM TEST了。。。 过来写写解题报告250pt直接统计字符o的个数就好了500pt昨晚做的时候发现n最大只有1000于是直接暴力全部加进去,再排序水过。。。今天研究了一下  优化了点 前k位必定是1 - k,   10 - 10+k,  100 - 100+k, 1000 - 100

2013-02-20 19:11:50 369

原创 hdu 2588

http://acm.hdu.edu.cn/showproblem.php?pid=2588又一道欧拉函数题,题目要求小于等于n且与n的最大公约数大于等于m的所有数的个数欧拉函数只能求出小于n且与n互质的所有数的个数,但是无法求出最大公约数是否大于m但是 我们可以这样想 设a为大于等于m的n的一个约数,那么euler(n/a)表示的就是所有小于a与a互质的数的个数,设任一个数为

2013-02-11 14:07:25 789

原创 hdu 3501

题目要求小于n且不与n互质的所有数的和,很明显的欧拉函数 但问题是欧拉函数只能求出满足小于n且与n互质的数个数 我们可以这样看设 a1,a2,a3,...,ak(k = euler(n))为所有满足小于n且与n互质的互不相同的数那么 gcd(n,ai) = 1则gcd(n,n-ai) = 1那么n-a1,n-a2,n-a3...n-ak也是所有满足小于n且与n互质的数(唯一性很容易

2013-02-11 00:58:43 415

原创 ZOJ 3665

发份AC代码 仅供参考 运行时间390MS  不是最高的 看到有大神20ms 只能膜拜T_T 其实实质是等比数列的和固定 然后求公比k和项数r的所有情况啦#include #include #include using namespace std;int main(void){    long long int n,r,k,min,sqr

2013-02-04 00:46:54 354

原创 HDU 3463

题目就不废话了 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3463首先我们肯定都能想到去打表然后我们从3-20000打出2261个素数 对于偶数而言 O(2261*2261)的枚举还是可以接受的 但是对于奇数而言O(2261*2261*2261)就显然要超时了所以我们换种思路 因为偶数由2个素数构成 而奇

2013-02-04 00:45:03 448

原创 HDU 2196 树形dp

首先不得不说这题真的很不错 花了我一整天的时间来想= =题目要求大概就是给你一棵树,求每一个节点到达的其他点所经过边的权值的最大值开始还想用FLOYD 但是看到10000个结点= =顿时打消了念头后来想到应该树形dp 对于一个结点,他能取得的最大值有2种可能,1是从他的子树走,2是从父节点走所以用far数组表示一个节点从他的子树走所能到达

2013-02-04 00:43:56 342

原创 哥的百度空间都搜不到啊=。=还是来这里写解题报告吧

RT不过还是贴贴地址 http://hi.baidu.com/_xing89qs

2013-02-04 00:43:01 299

原创 hdu 2389

这题明显的二分匹配 第一次用匈牙利算法居然TLE。。。。然后改用HK A了 156ms~图用的邻接表存的,没用vector,可能快点吧。。#include #include #include #include using namespace std;int n,m,head[3001],speed[3001],next[9000001],e[9000

2013-02-04 00:36:49 618

原创 Java自己做按钮~

import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;//需要准备3张图

2012-03-24 15:28:37 661

空空如也

空空如也

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

TA关注的人

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