自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qwb的博客

ACing

  • 博客(68)
  • 资源 (6)
  • 收藏
  • 关注

原创 递推 ACdream1420 High Speed Trains

传送门:点击打开链接题意:n个点,每个点至少被一条边覆盖,不存在自环和重边。问有多少种情况一个非常有意思的递推,其实可以利用容斥的思想去考虑这道题目设F[n]表示为n个点的情况数,那么最多会存在n*(n-1)/2条边,这些边中,每条边都是可有可无。如果不考虑不满足条件的情况(也就是有的点没有被边覆盖的情况),可能的情况数为pow(2,n*(n-1)/2),也就是考虑每一条边是否存在

2015-08-27 14:52:01 926

原创 二维无序LIS ACdream1216 Beautiful People

传送门:点击打开链接题意:告诉你n个人,每个人有个s和b连个值,要求从n个人中选出数量最多的人,使任意两个人(i,j)都有si思路:首先很容易想到DAG模型,但是这题的n其实仔细想想这道题,和普通的LIS还是有不一样的地方的。那就是他的顺序并不是给定的!!什么意思呢,虽说是二维LIS,但是他给出的n个人,并不是必须要递增,而是只要选出一部分,然后排序一下,让他们递增就可以了,其实这就是

2015-08-27 14:27:16 1171

原创 表达式树 csu1655 文本计算器

传送门:点击打开链接题意:计算表达式,其中里面含有加减乘除括号如果里面没有括号,那么使用栈简单维护一下即可但是如果里面有括号了,或者有更复杂的运算符号,那么推荐使用表达式树来做其实表达式树构造起来并没有想象中的那么麻烦,构造好之后直接分治算出答案即可表达式树的核心思维就是找同优先级的最后一个运算符的位置,然后按照优先级递减顺序去考虑即可#include#inclu

2015-08-27 13:52:15 1565

原创 矩阵 ACdream1213 Matrix Multiplication

传送门:点击打开链接题意:将一个矩阵A先转置,然后再与原A矩阵相乘,求最后得到的矩阵中的数字之和思路:刚开始没看懂题目,,,随便写几个矩阵A,然后倒置后相乘找规律,一下子就能发现规律,最后的答案等于每一行数字之和的平方之和#include#include#include#include#include#include#include#include#include#i

2015-08-25 23:25:14 1054

原创 质数筛 nbut1454 Lux

传送门:点击打开链接题意:给出区间[L,R],R-L思路:筛[L,R]区间中的全部质数,然后再遍历一遍#include#include#include#include#include#include#include#include#include#include#include#include#define FIN freopen("input.txt","r"

2015-08-25 22:36:48 1034

原创 构造 ACdream1408 "Money, Money, Money"

传送门:点击打开链接题意:输入一个x,要求找到一对a和b,使得a和b能组成所有>x的数字,却不能组成等于x的数字思路:一道非常让人无语的构造题,如果想到了就会觉得特别蠢。。如果a等于2,那么b就一定要是奇数才行。然后想到不能等于x,如果bx的奇数,来当作b此时因为a是2,所以和b组合在一起,就能表示出所有>=b的数字了,,没错,,做完了 T^T#include#include

2015-08-25 19:35:29 830

原创 大数+找规律 ACdream1210 Chinese Girls' Amusement

传送门:点击打开链接题意:对于n个点围成的圈。从一个点出发,顺时针数K个位置,一直进行这个操作直到回到最初的那个点时,恰好把所有的点都访问了一遍,问最大的K(K思路:很容易就想到了一种方法,找到K后来发现其实是有规律的,从n=3一直算下去,会得到一个这样的序列1 1 2 1 3 3 4 3 5 5 6 5 7 7 8 7 9 9 10 9.....很明显以4个为一组,一下子就能找到

2015-08-25 19:29:27 1357

原创 快速矩阵幂+DFS构造矩阵+大数 ACdream1214 Nice Patterns Strike Back

传送门:点击打开链接题意:告诉你矩阵大小是n*m,要求矩阵中不能有2*2的白色子矩阵或者黑色子矩阵,最后种类数模P思路:如果不是大数,这道题还是非常有意思的。。对于专门卡C++的题目也是醉了...因为n太大了,而m最大也只有5,很明显是大数上的快速矩阵幂。问题是如何构造出矩阵出来,之前做过骨牌的题目,就是利用DFS来构造的,感觉这道题在思路上是一样的,同样也是利用DFS先构造出矩阵

2015-08-25 19:20:40 1100

原创 模拟 hdu5414 CRB and String

传送门:点击打开链接题意:定义一次操作,可以在任意一个字符a后面插入一个不等于a字符的任意字符。问是否能将s串变成t串思路:感觉这种构造和模拟的题目做少了Orz首先我们可以发现,如果是开头,第一个字符必须要一样,设第一个字符为f那么前面连续的如果两个都等于f,就把指针都后移,直到两个中的某一个指针到末了,或者两者不再相等,才跳出循环然后判断是否是指针到末端了,对于i和j到末端的

2015-08-22 17:25:32 1007

原创 异或前缀和+DFS hdu5416 CRB and Tree

传送门:点击打开链接题意:给你一棵树,然后Q个问题,每个问题询问有存在多少个f(u,v)等于s其中u思路:这道题我觉得出的非常好,运用了位异或的一些妙用。f(u,v)=f(1,u)^f(1,v),因为假设u,v的lca是p,那么1~p这些节点都是公用的,这部分被异或了两次,就抵消了然后对于Q次问题,假设某一次问题是s,则有s=f(u,v)=f(1,u)^f(1,v)。那么有f(1,v)

2015-08-22 14:26:55 1706

原创 模拟 nbut1225 NEW RDSP MODE I

传送门:点击打开链接题意:输入n,m,x,刚开始有一个1~n的排列,然后定义了一种操作,是将数组中的偶数位数字选出来,按照顺序放到数组最前面,奇数位按照顺序放到偶数位的后面,进行m次这样的操作,输出之后前x个数字思路:找到循环节T,利用T去约m,然后再将很小的m拿去模拟,输出前x个一开始就想到找循环节,,刚开始只想到去用找规律的方法去找到通项公式,但是找了好久就是没找到,虽然感觉理论上

2015-08-21 23:20:40 1076 1

原创 dp+trie nbut1222 English Game

传送门:点击打开链接题意:告诉你一个字典,每个单词有一个权值,再给你一个字符串,问这个字符串用字典中的单词不重复字母的覆盖,最大权值是多少。一个单词可以重复出现思路:先如果不考虑单词匹配,那么就是一个单纯的dp,dp[i]表示前i个已被完全覆盖此时的权值大小,如果在i位置后面有一个单词的长度为l,权值是w,且此时在i位置后长度为l的子字符串就等于那个单词,说明那个单词能放在这个位置,就有d

2015-08-21 23:09:47 1011

原创 DFS nbut1218 You are my brother

传送门:点击打开链接题意:告诉你n个关系,关系(u,v)表示v是u的父亲,现在A是节点1,B是节点2,问A和B的辈分关系思路:这肯定是树型结构,先建立(u,v)的有向边,找到A的祖先root,然后再从root出发看A和B的深度是多少然后比较A和B的深度。trick:A和B可能并不是一个祖先,也就是说A和B可能没有血缘关系,给出的数据并不是一棵树,而是森林,此时应该输出You are

2015-08-21 23:01:03 802

原创 混合背包 hdu5410 CRB and His Birthday

传送门:点击打开链接题意:你有M块钱,现在有N件商品第i件商品要Wi块,如果你购买x个这样的商品,你将得到Ai*x+Bi个糖果问能得到的最多的糖果数思路:非常好的一道01背包和完全背包结合的题目首先,对于第i件商品,如果只买1个,得到的价值是Ai+Bi如果在买1个的基础上再买,得到的价值就是Ai也就是说,除了第一次是Ai+Bi,以后购买都是Ai那么,我们能否

2015-08-20 17:41:34 1289 1

原创 DFS csu1513 Kick the ball!

传送门:点击打开链接题意:点球大战,轮流每队点射5个球,A先踢。如果当前比分已经能直接让比赛胜利接下来的球就不需要踢了。问最后的得分是题所给出的得分的概率思路:暴力DFS,直接枚举哪些球进了哪些球没进,注意比赛提前结束这个特殊的剪枝就行。#include#include#include#include#include#include#include#include#in

2015-08-18 23:00:09 1065

原创 费用流 csu1506 Double Shortest Paths

传送门:点击打开链接题意:Alice和Bob要从1走到n,每条边第一次被走过的时候的权值是d,第二次被走过的时候是d+a思路:费用流裸题,对于将源点连到1,将n连到汇点,对于每条边建立两条边,一条费用为d,另一条费用为d+a然后跑一遍最小费用最大流答案就出来了#include#include#include#include#include#include#include#

2015-08-18 22:55:38 1038

原创 费用流 poj3680 Intervals

传送门:点击打开链接题意:给你n个开区间,每个区间有权值,现在每个点最多只能被覆盖k次,选择多个区间,使权值最大。思路:先将坐标离散化然后建图,将源点连到1,n连到汇点,容量都是k,费用为0然后将线段中每两个相邻的点都连接一条容量为k费用为0的边,让流量能从左边抵达右边对于每一个区间,建一条边从L流向R容量为1费用为-W这样建图,就算一个点被区间覆盖了很多次,但是由于区间的

2015-08-18 22:49:03 765

原创 费用流 poj3422 Kaka's Matrix Travels

传送门:点击打开链接题意:从(1,1)出发k次,到达(n,n),求经过的数字之和最大,如果多次经过某一个点,那个点的权值只被算一次最经典的一道拆点的题把点拆分成两层,对于(i,j)这个点,第一层和第二层直接添加一条费用为-A[i][j]容量为1的边,表示通过了就能加上这个点的权值然后把每个点的第二层的点再连回到下一个点的第一层。因为一个点可以被多次经过,只是权值只算一次而已,所

2015-08-18 22:18:37 758

原创 费用流 hdu3667 Transportation

传送门:点击打开链接题意:n个节点m条有向边,每条有向边的容量是C,且费用是a*x^2,x是流量,问从1运送k流量到n的最小费用一般做的费用流边的费用都是固定的,而这题并不是固定的。但是,看到了C假如C是3,我们就可以把一条边拆成3条边。假如不拆,如果通过的流量是1,2,3,那么费用分别是a,4a,9a如果拆成3条边,那么3条边的费用分别是a,3a,5a,容量都是1

2015-08-18 22:04:10 877

原创 费用流 hdu3376 Matrix Again

n太大了所以不能使用O(n^4)的dp来做了,只能考虑更复杂的费用流主要的问题还是难在如何建图将点拆分成两个,分别用i和i+n*n来表示对于n*n个点,从i到i+n*n建一条边费用是-A[i][j]容量是1,来表示路过(i,j)获取的值然后从第二层建两条边,连向右边和下边的两个点的第一层,让点再次回到第一层,费用是0这样下来,点从第一层到第二层,表示获取了这个点的值,而

2015-08-18 21:56:06 933

原创 多线程dp hdu2686 Matrix

传送门:点击打开链接题意:给一个矩阵,刚开始两个点都在(1,1),然后一起出发,只能向右走或者向下走,只能在(n,n)汇合,在到终点之前两个不能在同一个格子内,得分就是两条路径的数字之和。求得分最大。因为数据比较小,所以可以直接开一个dp[x1][y1][x2][y2]来表示一个点在(x1,y1)另一个点在(x2,y2)时的最大得分然后利用记忆化搜索递推就能得到答案了#includ

2015-08-18 21:42:41 1162

原创 费用流 hdu1853 Cyclic Tour

传送门:点击打开链接题意:给n个点和M条有向边,要找出许多个环出来,每个环点至少有2个,所有的点都要被环覆盖1次,且只能为1次。问所有环的长度之和这题也可以用KM来做,这里主要是练习费用流的建图对于这题,建图也是非常的奇妙的由于每个点的入度都是1,出度都是1所以会想到把每个点拆分成2个点,用i和i+n来表示然后将源点与所有的i连接起来,将汇点与所有的i+n连

2015-08-18 21:37:39 882

原创 容斥定理 hdu2204 Eddy's爱好

传送门:点击打开链接很明显会有大量重复的被计算,所以很容易就想到容斥定理。我们设dp[i]表示能表示成M^i(i>1)且i是这个数字能表示出来的最大的情况时的总类数比如,27拆成M^K时的K最大能表示成3,所以27这个数字分在dp[3]这一类1我们暂时不考虑,不把它放在任何一类因为K>1,所以K至少是2,最大是2^K=N的时候,所以K最大等于log2(N),所以K非常的

2015-08-18 20:58:04 1171

原创 最短路 uva12661 Funny Car Racing

传送门:点击打开链接题意:给你有向图,每条边呈周期性开放,即开放a时间,再关闭b时间,再开放a时间以此类推如果时间不足以穿过这条路则不能走,你可以在节点等待时间,问从s走到t所需要的最小时间仔细想一想这题,对于某条边,越早走到u点一定是最优的,大不了我就等时间嘛所以,这只是一个普通的dijistra然后稍微在每一条边的距离上做了点手脚而已在节点等待时间,我们可以

2015-08-17 19:42:58 1291

原创 DFS nbut1218 You are my brother

传送门:点击打开链接告诉你一些a和b,b是a的父亲,问节点1和2的辈分关系。思路:很明显这是一棵树形结构。先从节点连向根建图,然后从节点1出发DFS,这样能找到根节点然后再从根节点往节点建图,找节点1和节点2的深度,再比较深度容易错的地方:节点1和节点2可能并不在同一颗树中,这时要输出You are my brother#include#include#includ

2015-08-17 19:11:06 843

原创 中国剩余定理 vijos1164 曹冲养猪

中国剩余定理的第一个模板。这个模板比较简单,求的是一系列的模方程组x % m = a用这个模板有几个前提。1:必须两两互质2:全部乘起来不能爆long long#include#include#include#include#include#include#include#include#include#include#include#incl

2015-08-16 18:20:54 1662

原创 gcd vijos1279 Leave-绿光

传送门:点击打开链接仔细想一想过程,如果a>b,肯定是在a-b的位置切一刀,这样可以切出一个边长为b的正方形出来,那么还会剩下一个变长分别为b a-b的长方形,然后继续操作仔细想想,不就是辗转相减法么= =然后画了个图模拟了一下找了一下规律,马上就能发现答案是m + n - gcd(m,n)#include#include#include#include#inclu

2015-08-16 13:11:51 941

原创 费用流 poj2195 Going Home

传送门:点击打开链接费用流裸题,,感觉不是因为我模板慢,,应该是因为vector的原因。。题意:每个人都要回已房子,费用是哈曼顿距离,每个房子只能容纳1人,问最小费用超级源点连接每一个人,每个人再连很多条边对应房子再把每个房子连接超级汇点模板一套,,就做完了#include#include#include#include#include#include#

2015-08-16 00:25:33 817

原创 费用流 zoj3885 The Exchange of Items

传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3885题意:有n件物品,告诉你最初第i件物品的数量Ai,要求最后数量变成Bi然后有m种交换方式,每种交换方式有两个数字a b,表示物品a能和b等价交换,是双向的求最少交换多少次,就能实现这题的正解是套用最小费用最大流模板。。对着模板

2015-08-16 00:16:48 1400

原创 如何用取尺法处理连续区间内数字相同

经常会遇到类似下面这种问题:给你n个数,由0和1组成,问1或者0的最大连续长度是多少110001101的最大连续长度就是中间3个连续的0,所以是3这里稍微总结出了一个取尺法,以后遇到这样的题目就不需要再思考太多细节了int L, R = 1, ans = 0;for(L = 1; L <= n; L = R + 1) { for(R = L; R + 1 <= n

2015-08-15 10:47:10 1902

原创 扩展欧几里德 poj1061 青蛙的约会

扩展欧几里德非常经典,但是也有时候挺难用的。一些东西一下子想不明白。。于是来了一个逆天模板。。只要能列出Ax+By=C,就能解出x>=bound的一组解了~LL exgcd(LL a, LL b, LL &x, LL &y) { if(b == 0) { x = 1; y = 0; return a; } LL r = exgcd(b

2015-08-15 09:49:16 1486 3

原创 容斥定理 hdu1796 How many integers can you find

因为数据比较小,我的方法非常蠢。。直接枚举M个数的集合的子集,记为s然后球子集s里的数的最小公约数,并统计里面的数量,记为cnt然后看小于n的数中,有多少个最小公约数的倍数,记为t看cnt的奇偶性,奇数就加t,偶数就减t(容斥定理)然后就做完了,因为数据小,对于这题复杂度足够了#include#include#include#include#include

2015-08-14 21:50:50 818

原创 组合数学+递推式 hdu2068 RPG的错排

我的思路是这样的:枚举正确的个数i,然后从n个位置中选择i个位置,C(n,i)那么剩下的n-i个位置,都不是答案,我们暂时成为错位排列现在的难点就在于,如何球错位排列设F[i]表示i个数字,错位排列的种类数那么,先只考虑前i-1个数字错位排列,暂时在第i个位置把数字i放上,此时是不合法的因为i第i个位置不能放i,所以要考虑把i和其他数字调换位置在前i-1个位置中,选

2015-08-14 21:45:25 1384

原创 组合数学 codefoeces300C Beautiful Numbers

...刚开始没看清题意,,原来excellent的前提是good...我们来认为那个长度为n位的数字为A,A的每一位之和称为B首先,我们需要分两种情况来讨论。第一种情况,当a等于b时,说明A里那n位数字全部是a也就是说,B的值等于a*n,我们只需要验证现在B中每一位的数字是否都等于a就可以了如果都等于,那么答案就是1,否则答案就是0第二种情况,当a不

2015-08-13 23:02:57 1455

原创 字符串替换 hihoCoder1082 然而沼跃鱼早就看穿了一切

一直因为C++里面没有现成的替换函数而烦恼,只怪自己太懒懒的写借这题写好这个函数,,以后直接用就好了#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int MX = 1

2015-08-13 22:41:48 1315

原创 manacher hihoCoder1032 最长回文子串

竟然可以做到O(n)的复杂度求最长回文,,也是给跪了。下面这个人把manacher讲的非常好,,可以看看http://blog.csdn.net/xingyeyongheng/article/details/9310555我就照着他的代码敲了一遍贴了个模板。。#include#include#include#include#include#include#inclu

2015-08-13 22:30:36 1031

原创 KMP hihoCoder1015 KMP算法

人太蠢,,看了一天的KMP。。刚开始看训练指南的,,后来才惊奇的发现原来刘汝佳写的f数组并不是Next数组!总觉得和之前看过的完全不一样。。。后来又百度了一下KMP,研究了很久,然后用自己的逻辑写了一份http://blog.chinaunix.net/uid-23767307-id-5033555.html这个人把KMP大篇幅的讲了,,大家可以看看。。个人认为

2015-08-13 22:22:45 1846

原创 C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~

暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐...然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人然后发现有一位作者是用网页填表然后按钮模拟,,,默默噗噗的笑了。。。先来晒一下排行榜要模拟网页,,当然POST大法好啊,直接模拟发送POST数据不就好了咩,,搞填表啥的多麻烦,完全可以写一个程序后台自动跑。

2015-08-12 19:32:37 3424 8

原创 线段树 hdu3255 Farming

做了这么多扫描线的题,,基本都是一个思路。改来改去,,无非就是维护的节点的内容以及push_up越写越复杂了而已首先将价格排序处理一下编号,变成编号越大的powerfol越大然后后面添加扫描线的时候将旧编号直接转换成新编号就行了对于这题S[rt][i]维护的是,rt节点对应的区间中品种为i的长度S[rt][i]维护的是,rt节点对应的区间的品种为i出现的次数

2015-08-12 14:14:02 1323

原创 线段树 hdu3642 Get The Treasury

不得不说,这是一题非常经典的体积并。。然而还是debug了2个多小时...首先思路:按z的大小排序。然后相当于扫描面一样,,从体积的最下方向上方扫描,遇到这个面就将对应的两条线加入到set中,或者从set中删除,然后再对set中的所有边,求一次面积并由于最后求出来的是至少有3个体积叠加的部分的体积。所以需要维护3个节点,然后push_up会稍微啰嗦一点...

2015-08-12 11:40:41 1186

C#八数码游戏实例

C#八数码游戏实例

2016-02-14

C#计算器实例

C#写的计算器实例

2016-02-13

Android 短代码实现 最简易的画板

Android 短代码实现 最简易的画板

2015-09-07

易逍遥模块1.6.ec

逆天http模块,无需处理cookie!(只有跨域才需要保存cookie)

2015-06-13

易语言 skinh破解版

SkinH_EL.dll

2012-08-15

空空如也

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

TA关注的人

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