摘要:
题目链接:http://poj.org/problem?id=1463题意:给出一个无向图,每个节点只有一个父亲节点,可以有多个孩子节点,在一个节点上如果有一位战士守着,那么他可以守住和此节点相连的边。求最少战士数量。解法:树形DP的入门级题目。简单说明:f[i][0]表示以i节点为根没有战士守卫的情况,f[i][1]则表示有战士守卫 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define inf 0x7fffffff 8 using namespace std; 9 const int maxn= 阅读全文
摘要:
2014年3月29日20:00+,看到一位优秀的ACMer的博客里的几篇文章,退役贴和学习总结。读后依稀记住几句话,大概意思就是:拼命刷题,把自己不会的暴露出来,把自己会的巩固起来。在ACM世界里,要不就是玩命的疯子,要不就是悠闲的教主,你想混下去,不下点连别人都惧怕的血本怎么可能获得想要的。不要总想着依赖别人,要努力成为别人的依赖。在这个纷争的领域里,一大堆连续通宵刷题不亦乐乎的,退役贴里我听过在吵闹的游戏声的网吧里通宵刷题的,在大年夜黑灯瞎火的啃动态树的。更何况的是赛场上即使使尽浑身解数也没能拿到理想中的名次的人一大堆,我有资格说我也在搞ACM吗? 阅读全文
摘要:
今天包括这一周开始学习AC自动机了,有点晚,但我感觉努努力还来得及。4月份还得认认真真攻图论,加油!为2个月后的邀请赛及省赛、东北赛做准备。推荐AC自动机学习地址:http://www.cppblog.com/mythit/archive/2009/04/21/80633.html专辑:http://www.notonlysuccess.com/index.php/aho-corasick-automaton/说明:他们都是大牛神牛,至少脑子笨的我没法比,我只要努力学习就行了。 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028题目大意:3=1+1+1=1+2=3 ;4=4=1+1+1+1=1+2+1=1+3;所以3有3种加法,4有4种加法,给出一个n,(1 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define inf 0x7fffffff 8 using namespace std; 9 int main()10 {11 int an[222],bn[222];12 int n;13 while (cin>>n)14... 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1542题目大意:线段树+扫描线+面积并注释:1.偶是菜鸟狗,从大牛那里copy过来的代码模板。 2.推荐线段树求面积并的地址:http://www.cnblogs.com/ka200812/archive/2011/11/13/2247064.html 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 struct node 8 { 9 int l; 10 int r... 阅读全文
摘要:
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1575题意:求矩阵的k次方后主对角线上的和+mod9973解法:矩阵快速幂的入门题。总结:感觉矩阵快速幂还挺有趣的,今天开始了解了一下。加油! 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define inf 0x7fffffff 8 using namespace std; 9 int n,k;10 struct matrix11 {12 int an[20][20];13 };14 matrix... 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4193题意:给出一个n数列,要求把前i(1=0,就可能算一种,并在枚举的时候更新单调队列。总结:1.昨天比赛训练的时候没有想到单调队列的做法,简单的前缀和果然的超时了,学过的算法及思维远远不够,因为貌似这道题去年我做过,囧。。。 2.如果单调队列加上结构体得2000+ms,我的挫代码就如此,菜。应该就在前缀和数组sum[]上面进行单调会快一点吧。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #inclu... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075题意:比较简单,易懂,这里不做说明。解法:第一种方法:用map映射,耗时1000+ms;第二种方法:用字典树处理,500+ms。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define inf 0x7fffffff 9 using namespace std; 10 char s1[20],s2[20]; 11 typedef struct NODE 12 {... 阅读全文
摘要:
题目来源:http://poj.org/problem?id=3009一道深搜题目,与一般搜索不同的是,目标得一直往一个方向走,直到出界或者遇到阻碍才换方向。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define inf 0x7fffffff 9 using namespace std;10 int w,h;11 int an[4][2]={-1,0, 1,0 ,0,-1, 0,1 };12 int bn[25][25],vis[25][25];13 int sx,sy,gx 阅读全文
摘要:
写此次标题之前看了下日期,2014年3月1日。距离ACM校赛,省赛,东北赛,区域网络赛,区域现场赛(一定要参加)的时间一天天在靠近,而且很严重的是,最近几天我都没有学算法,连刷题量也没有保证到,这样的自觉心可想而知我是多么的菜。不行!我大一的梦想我得努力实现,我想成为ACM大牛,我要写程序。加油吧,时刻提醒自己,nenu_huangxf,不然我只能成为失败者。 阅读全文
摘要:
扩展欧几里德算法的练习题,直接调用exgcd函数就可以了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define inf 0x7fffffff 7 using namespace std; 8 9 typedef long long LL;10 LL x,y,m,n,L;11 LL x1,y1;12 LL q;13 void exgcd(LL a,LL b)14 {15 //cout>x>>y>>m>>n>>L) {27 LL d=y-x;28 LL gcd=1;29 阅读全文
摘要:
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2795题意:h*w的空间,给出1*L的木板,要求放在最高层且能放进的位置,最高层为1,最底层为h。思路:线段树算法。每个节点存储的值sum[rt]为当前区间的最大宽度。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define inf 0x7fffffff 7 using namespace std; 8 9 const int maxn=200000+10;10 int sum[maxn*4];11 int h,w,n,x;. 阅读全文