码迷,mamicode.com
首页 >  
搜索关键字:acm算法    ( 679个结果
HDU ACM 1010 Tempter of the Bone ->简单搜索
分析:搜索题,注意剪枝。 #include using namespace std; int dfs(int si,int sj,int ei,int ej,int mt); char map[8][8]; int m,n,fa; int main() { int t,i,j,wall,sti,stj,eni,enj; while(cin>>n>>m>>t &&(n||m||t)) {...
分类:其他好文   时间:2015-05-05 21:53:39    阅读次数:224
HDU ACM 4512 吉哥系列故事——完美队形I ->LCIS最长公共递增子序列
分析:最长公共递增子序列,把数据反向存储一遍,求正反两组数据的LCIS。另外注意边界的条件判断。还有如果取出的新队列有奇数个人或偶数个人要单独判断。 #include using namespace std; #define max(a,b) ((a)>(b)?(a):(b)) int dp[202]; int a[202]; int b[202]; int LCIS(int n) { i...
分类:其他好文   时间:2015-05-05 14:28:29    阅读次数:150
BZOJ 1036 [ZJOI2008] 树的统计Count (树链剖分)
题目地址:BZOJ 1036 树链剖分裸题,需要用线段树同时维护最大值与和值两个信息,只是代码量大一点而已。。 代码如下:#include #include #include #include #include #include #include #includ...
分类:其他好文   时间:2015-05-05 01:23:33    阅读次数:213
FZU 2082 过路费 (树链剖分)
树链剖分裸题。。。不多说。。 代码如下:#include #include #include #include #include #include #include #include #include using namespace...
分类:其他好文   时间:2015-05-05 00:07:50    阅读次数:186
POJ 3237 Tree (树链剖分)
题目地址:POJ 3237 这题用了一下午。。本来一直认为max和min两个数组是不用改的,只需要改lazy数组,然后在查询的时候利用lazy标记来返回max或-min,后来发现错的很严重。。 这题要在pushdown中修改max和min数组,从而实现最大值取反。 代码如下:#include #include ...
分类:其他好文   时间:2015-05-04 22:13:18    阅读次数:119
HDU ACM 3183 A Magic Lamp->RMQ的ST算法或贪心
分析: 1、贪心,对数组进行扫描,如果a[i]>a[i+1]则把a[i]删除,直到删除m个为止;如果扫描一遍后删除的数不够m个,则在把数组末尾的数删除,直到总的删够m个,数组中剩下的数从头到尾即为结果。 2、RMQ算法解决,假设数组的长度为len,要删除的数的个数为m,那么最终数组中将剩下len-m个,因此可以找出数组中第一个到第m+1个的最小数作为最终结果的第一位,并假设最小数下标为i,再找...
分类:编程语言   时间:2015-05-04 13:51:02    阅读次数:182
HDU ACM 1698 Just a Hook->线段树+区间修改
分析:线段树的应用,区间修改,使用延迟标记进行延迟修改。 #include using namespace std; #define N 100010 class SegmentTree { private: struct Node { int left,right; //左右子节点 int sum; //区间和 int lazy; ...
分类:其他好文   时间:2015-05-03 16:06:09    阅读次数:126
HDU ACM 1512 Monkey King->左偏树+并查集
题意:一开始有N只猴子,,每只都有一个力量值.,并且互不认识,后来 它们之间发生了M次斗争。 每次两次两只猴子a,b斗争是, a和 b都会从他们自己的朋友圈里拉出一个最强的朋友, 之后最强的这两只猴子打, 打完后两只猴子的力量值分别减半.。并且 两只猴子的朋友圈的所有人都互相认识(也就是以后不会再打了)。问题是对于每次斗争, 若a,b是朋友, 那么输出-1, 否则输出斗争后它们的朋友圈里最强猴子的...
分类:其他好文   时间:2015-05-02 18:16:04    阅读次数:144
HDU ACM 4550 卡片游戏
分析:分为三部分处理,第一部分找到除0外最靠右的最小数字A作为第一位;第二部分是这个最小数字A前面的数字均按规则排列,也就是每取出一张大的放在第二部分的后面,小的放在第二部分的前面;第三部分就是这个最小数A后面的数字按原顺序放在最后即可;最终即可组出新的串。 例子:9876105432。 第一部分:1 第二部分:9876,处理后为6789 第三部分:05432 最后按照第一部分,第二部分...
分类:其他好文   时间:2015-05-02 15:16:10    阅读次数:176
HDU ACM 1103 Flo's Restaurant
分析:借助STL的min_element实现。每次更新最先被占用的桌子,具体见注释。 #include #include using namespace std; int main() { int A,B,C; char s[10]; int a[102],b[102],c[102]; int curtime,count,ans; int *p; //桌子最...
分类:其他好文   时间:2015-05-02 01:10:24    阅读次数:161
679条   上一页 1 ... 25 26 27 28 29 ... 68 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!