![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
regional&&multi
Ice_Crazy
目前等级:资深菜鸟 。下一等级:超神菜鸟
展开
-
2011成都网选最水的几道题
好久没动博客了,马上也是要那什么什么的人了,写点儿吧~。 去年带我的俩学长已经工作了囧~、今年的俩队友也跑路去找工作了囧~、留下额孤零零的一个人儿,眼看现场赛就要到了、没奈何只能自己找找比赛单挑了(不能就这样轻易就放弃了吧~),同时为他俩祝福,加油呀~,进阿里、进一起、在一起、在一起。。。哦不对,喊错了,是进阿里。。。 下面水题献上:10原创 2013-10-11 20:09:39 · 1938 阅读 · 0 评论 -
hdu2874
/*分析: LCA,我这个用的是Tarjan离线的,不懂的可以看lrj的黑书,在讲树的部分讲到的。 以前写过这个题,记得当时莫名其妙的tle了= =。。 2013-06-14*/#include"iostream"#include"cstd原创 2013-06-14 19:12:58 · 2439 阅读 · 3 评论 -
hdu4004
/*分析: 二分,水。。题。竟然ac了、着实捏了一把冷汗、1Y。。。 读完题后直接就想到二分了、不过看了数据范围后、感脚数据如果够强大的话、是过不了滴。。当然、关键的系事实证明它咩有那么强大囧~~(不过看到那个L的范围后直接就被雷到了、虽然acm里面不是第一次了、不过哪只蛤蟆经得起这样折腾的。。)原创 2013-07-03 20:03:38 · 1612 阅读 · 0 评论 -
hdu4341
/*分析: 背包小变形,水~、1Y。 把在同一条射线上的点分类; 把每一个类当作一组物品、根据到源点的距离递增的顺序对于同一组的不改变外循环进行dp; 把不同组的改变外循环dp。 2013-07-03*/#include"iost原创 2013-07-03 19:10:48 · 1049 阅读 · 0 评论 -
hdu4349
/*分析: 找规律 or lucas定理。 看这里看这里:http://blog.csdn.net/julyana_lin/article/details/7840491。。。 24K纯数学盲暴力打表找规律的。。 2013-07-17*/原创 2013-07-17 18:37:58 · 1382 阅读 · 0 评论 -
hdu4339
/*分析: 线段树水题。 被小坑了一下、没有说两个串长度一样呢囧~ 我维护的是:该区间内、从左端点开始往右能在对应相等的前提下所延伸的最长长度。 2013-07-17*/#include"iostream"#include"cstdio"原创 2013-07-17 20:15:25 · 941 阅读 · 0 评论 -
hdu4357
/*分析: 找规律,对找规律题有兴趣的伙计还是自己推吧~。摘自人人:当字符串长度为2时:直接模拟即可(最多26次)。当字符串长度大于2时:1. 定义字符串的奇偶性为该字符串所有字符之和的奇偶性。2. 因为每次变化操作字符串的字符和共增加了2,所以当字符串的奇偶性不同时答案一定为N O。3. 当字符串的奇偶性相同时可证明答案一定为YES,证明如下:对原创 2013-07-17 16:55:49 · 808 阅读 · 0 评论 -
hdu4362
/*分析: 优先队列+dp,思路同hdu4374。 读完题后很快就想到了hdu4374的解法、也不负众望的轻松ok了。 由于这个题不像hdu4374那样限制递推前后两个量的距离,所以可以不用优先队列,既不需要每次从队列里面弹出极值、然后判断结果为可行才用来递推;而是可以直接维护一个最值(代码中的mmin)。原创 2013-07-17 15:32:30 · 929 阅读 · 0 评论 -
hdu4374
/*分析: 优先队列+DP。 不科学&&蛋疼、加了一个精心想好的优化结果wa了一下午、去掉就ac了。。。不过内存占用不算多、648K。 很容易想到dp[i][j]=max(dp[i-1][k]+sum(k~j))(abs(k-j)列j每次改变、每个可进行递推的点k到点j的sum(k~j)都在变化、不好处理;所以改变下: 假设k原创 2013-07-16 20:26:59 · 1252 阅读 · 0 评论 -
hdu4365
/*分析: 找规律+快速幂取余。 详细的看代码吧。 2013-07-17*/#include"iostream"#include"cstdio"#include"cmath"#include"cstring"#include"algorithm"using namespac原创 2013-07-17 12:31:49 · 1080 阅读 · 0 评论 -
hdu4602
/*分析: 2013multi第一场c题,递推找规律都行。 打个表就能看出来规律了。 2013-07-23*/#include"iostream"#include"cstdio"#include"cstring"using namespac原创 2013-07-23 19:57:51 · 1629 阅读 · 0 评论 -
hdu4607
/*分析: 2013multi第一场h题,tree dp。 水题。 375ms,没想到statistic里面排的还挺高的囧~ 2013-07-23*/#include"iostream"#include"cstdio"#include"cst原创 2013-07-23 19:53:34 · 1287 阅读 · 0 评论 -
hdu4608
/*分析: 2013multi第一场i题、签到题。 建议直接完全暴力吧、而且时间给的那么多呢(这建议是对于比赛来说的啊= =I),否则有一点儿点儿小坑、掉进去就得不偿失了。 第一次参加多校、多少说点儿什么吧^_^,比赛真的是激情四射呀,和队友各种讨论、各种yy的,真的很促进配合。比较蛋疼的是,比赛进行到一半、副院长竟然来挖人了,要挖走我俩队友、去给原创 2013-07-23 20:27:58 · 1549 阅读 · 0 评论 -
hdu4279
/*分析: 显然的打表找规律。 打表后可以发现(用0表示该位置的数不是real number,1表示是)串为: 00000 1个“10”+111 2个“01”+000 3个“10”+111 4个“01”+000... 然后答案推一下就出来了。原创 2013-10-15 11:05:12 · 1618 阅读 · 4 评论 -
hdu2831
/*分析: 二分匹配水题。 时间(““第几个”种哪一行” 的“第几个”)和行匹配。 2013-03-06*/#include"stdio.h"#include"string.h"#include"stdlib原创 2013-03-06 19:30:37 · 880 阅读 · 0 评论 -
hdu4464
/*分析: 水题(2012成都站签到题)。 2012-11-24*/#include"stdio.h"#include"string.h"#include"stdlib.h"int main(){ int Case=1; int n; int i;原创 2012-11-24 21:24:41 · 912 阅读 · 0 评论 -
hdu4461
/*分析: 2012亚洲杭州站I题,签到题。 不过题目挺长的,当时现场赛的时候没有先看这个题,要不貌似还可以拿一个FB呀,800元呀,YY中。。。 2012-11-08*/#include"stdio.h"#includ原创 2012-11-08 18:00:12 · 743 阅读 · 0 评论 -
hdu4450
/*分析: 水题。。。(2012金华现场赛I题。。。) 2012-10-30*/#include"stdio.h"#include"string.h"int main(){ int n; int i原创 2012-10-30 09:56:59 · 535 阅读 · 0 评论 -
hdu4451
/*分析: 水。。。(2012金华现场赛J题)。。。 2012-10-30*/#include"stdio.h"#include"string.h"int main(){ int n1,n2,n3; int ans; int原创 2012-10-30 11:16:54 · 777 阅读 · 0 评论 -
hdu4293
/*分析: dp,转化为区间求解。 2013-07-29*/#include"iostream"#include"cstdio"#include"cstring"using namespace std;const int N=506;int n,dp[N],map[N][N];原创 2013-07-29 15:50:09 · 1260 阅读 · 0 评论 -
hdu4632
/*分析: (找规律+递推) && (线段树 || 树状数组),非区间dp方法。 以后都不准备再贴水题了,不过这题我比赛时想到的方法和解题报告的方法不一样,所以贴下。。。 1. 经过观察,发现性质:对于str[i]==str[j] && i(i列,并且这个回文序列的首元素为str[i]、尾元素为str[j]; 2. 维护两个数组,ans[N原创 2013-08-02 12:49:23 · 1605 阅读 · 0 评论 -
hdu4618
/*分析: 各种暴力各种过。。 2013-07-26*/#include"iostream"#include"cstdio"#include"cstring"using namespace std;const int N=306;int n,m,ans,map[N][N原创 2013-07-26 12:46:55 · 1141 阅读 · 0 评论 -
hdu4614
/*分析: 就一线段树果题,配合二分,或者把对e点的查找的函数写的复杂点儿、在里面嵌套半个logn都行。 这是我最喜欢的几个算法之一啊!只是这段时间有点儿忙不小心冷落了你,不要就这么狠心无情毅然决然果断地抛弃我啊!!犯了白痴错误比赛期间愣是没有检查出来啊!!心酥了有木有啊囧~~原创 2013-07-26 11:52:38 · 1774 阅读 · 0 评论 -
hdu4371
/*分析: 简单的博弈,挺有意思的: 最优策略是一直加最小的数; 否则的话、对手就可以减去最小的数使得整体仍然是上升的,酱紫的话、他就使对手可以使用减号、使对手妥妥的不败。 2013-07-17*/#includ原创 2013-07-17 08:39:08 · 1100 阅读 · 0 评论 -
hdu4405
/*分析: 期望+dp。 水题、不过数学是绝对软肋、还是wa了一次。。 介个不错:http://kicd.blog.163.com/blog/static/126961911200910168335852/ 至于dp过程中,为什么没有航班的点、dp[i]=sum(dp[j])+1(i+1要加一呢?因为期望就是步数、多走一步所以就要加1。。原创 2013-07-16 10:45:39 · 2188 阅读 · 0 评论 -
hdu3097
/*分析: 并查集。 仔细想想,对于一个连通的集合,如果边的数目为偶数,则必定可以按照题中所说的方式成功划分;否则,必定不行囧~。 2013-04-09*/#include"iostream"#include"cstdio"#inc原创 2013-04-09 20:57:29 · 800 阅读 · 0 评论 -
hdu2860
/*分析: 并查集。 当要合并的两个公司x、y有关系x==y时,输出Reject。。。... 2013-03-28*/#include"iostream"#include"cstdio"#include"cstring"usi原创 2013-03-28 15:24:50 · 800 阅读 · 0 评论 -
hdu2861
/*分析: 简单的递推。 a[n][m][k]=a[n-1][m][k]+b[n-1][m][k-1]; b[n][m][k]=a[n-1][m-1][k-1]+b[n-1][m-1][k]; ans[n][m][k]=a[n][m][k]+b[n][m][k]。 a[n][m][k]:n个座位、m个人、k段、最后一个位置么有人,的情况数;原创 2013-03-31 16:05:01 · 1014 阅读 · 0 评论 -
hdu2845
/*分析: 简单递推(加了种重叠的思想)(分类到DP里面吧),今儿第二个1Y了~ 吓尿了,一开始看成1(光输入就要TLE。。。) 《压缩元素,借助递推》 首先,对于每一行,求出如果从这行挑元素(因为某个元素被挑的话,它的上下行都不可以再被挑,而自身所在的那行还有元素可以挑),可以得到的sum[i],这样“就把这行m个数压缩为一原创 2013-03-13 16:49:17 · 1504 阅读 · 0 评论 -
hdu2850
/*分析: 贪心&&优先队列。 输出的时候少输出一个n,1wa。。 对n个值从大到小遍历,把当前的任务放到当前负担最轻的serve里。 2013-03-21*/#include"iostream"#include原创 2013-03-20 11:26:57 · 1111 阅读 · 0 评论 -
hdu2881
/*分析: dp。 FUCK!,老纸跟multi的题杠上了!就算一星期也只能切一道题我也跟你杠上了!!就算一道题要wa十几次或者几十次我也跟你杠上了!!!尼玛天天折磨我很开心是不,啊?!次奥!!!老资跟你杠上了!!!FUCK&&次奥!!!!!! 垃圾代码垃圾方法,c++TLE,g++1000+ms原创 2013-04-11 15:54:04 · 910 阅读 · 0 评论 -
hdu2870
/*分析: 一道简单的dp。 是hdu1505的小拓展、hdu1505又是hdu1506的小拓展- -,这个题就是做三次hdu1505。昨晚敲完代码来不及提交就断网了囧~。凭水题刷得多在hdu上面和一位主刷难题的学长题量平齐了,高兴倒没有,反而因为想起那一届的学长而有点儿伤感了(他们去实习了已经)。。。继续走吧,也没什么好伤感的,早晚咱也有洗洗手退出这条道儿原创 2013-04-09 23:36:16 · 1849 阅读 · 0 评论 -
hdu2854
/*分析: 数据量不是太大,可以暴力打表。 ps:推了两张纸后,发现理解错题意了。。。对于某个数,只要存在一对a、b,这对a、b满足式子一但同时不满足式子二,那么这个数就NO。 2013-03-24*/#原创 2013-03-24 15:05:59 · 952 阅读 · 0 评论 -
hdu2851
/*分析: 一道简单的最短路。 郁闷到死了,刚开始以为在某个road上面走的时候也不能走回头路,结果各种优化都TLE(因为每个区间都最大可以有1001个点,而这些点都可能是某个最短路的中继节点,所以等于说数据量上限*1001。。。)。 最后发现,只要遵循路径中“区间的序号是递增的”就行,至于在某个road上面,回头路爱走不走。。。 优化那的代原创 2013-03-20 16:45:09 · 1042 阅读 · 0 评论 -
hdu3861
/*分析: 把环缩点,求最小路径覆盖。 果然比赛更激发潜能呀= =,以前很弱的时候见过这个题,么a掉,今儿个虚拟赛1Y灭之。 2013-05-21*/#include"iostream"#include"cstdio"#include"原创 2013-05-21 13:35:09 · 961 阅读 · 0 评论 -
hdu4303
/*分析: dfs,也算是树形dp吧。 难度一般,不过细节部分处理的我快要吐血了。。。 以前碰到过这个题,不过想出来的方法觉得麻烦,细节没有处理好,就搁置了。。。后来又碰到了、又又碰到了、、又又又碰到了。。。擦!不能忍了!真的不能忍了!遂继续琢磨自己的方法,发现也没有别的更好的方法了(至少咱这菜鸟木有发现囧~),然后狠心灭之~ 方法倒是很原创 2013-04-16 15:17:43 · 1007 阅读 · 0 评论 -
hdu4415
/*分析: 贪心。 1、所有人都没有菜刀、无法砍别人。对于这种情况,直接根据cost排序,来尽量多的杀人,得到第一组ans; 2、存在有菜刀的人: 如果猪角的武器的耐久、不足以使他杀死“有菜刀、且cost最小”的人,那么返回“1、”,否则、砍死这个人、进入下面的步骤:(1)所有的人的菜刀可以杀死的人的总和sum+1>=n(因为至少一个人必须是原创 2013-06-27 19:31:11 · 1989 阅读 · 0 评论 -
hdu3660
/*分析: 简单的tree dp,难点是理解题意。。。 从下往上dp,如果是奇数步,就记录这个点往下可以得到的在[L,R]内的最大的dis;如果是偶数步,就相反。 2013-06-26*/#include"iostr原创 2013-06-26 11:11:28 · 1085 阅读 · 0 评论 -
hdu3560
/*分析: 连通分量,水,并查集。 一开始想到的就是并查集,不过术业有专攻,虽然n大了点,不过还是试着用了下tarjan,果不其然tle了囧~,也懒得去优化函数的调用次数了,就用并查集了: 用并查集,不过find部分要手写成不使用函数一级一级调用的形式,不然会死的很惨是→原创 2013-06-22 19:37:49 · 818 阅读 · 0 评论 -
hdu3630
/*分析: 二维RMQ+二维树状数组(或者二维线段树)。 对于所求的区域内、以每一个非lake点所在行为底部、先向上使劲儿扩展、然后再努力向两侧扩展、可以得到一个不含lake的矩形。枚举出所有的这种矩形(必定涵盖ans情况)、最佳的既为ans。n*m*q次枚举、RMQ询问O(1)、二维树状数组求和log(n)*log(n),所以时间复杂度为O(n*m*q*log原创 2013-07-02 09:21:34 · 802 阅读 · 0 评论