ACM_学习方法
文章平均质量分 63
石韡斯
年轻的意义在于可以选择
展开
-
ACM训练方法_该我自己检讨了_By LCY
<br /><br />首先,我想说,下面检讨的很多问题并不是现在才有,去年或许更早就已经逐步显现出来,只不过还算过得去的比赛成绩,特别是去年幸运的第一次World Final出线经历,掩盖了很多问题,也让我自己不够清醒。 但是现在,几次比赛的打击让我清醒了很多,断断续续想了很多天,我自己在很多地方实在应该好好检讨: 1、集训队几年来不断进步的趋势,让我心理上过于放松,以为只要按照既定的训练模式,保持以往的训练力度,就可以继续进步;但事实上,在越来越多的高校逐步重视ACM,都加大训练力度的前提下,我们原来的原创 2010-12-01 15:48:00 · 2761 阅读 · 2 评论 -
PKUOJ分类
<br />初期: <br />一.基本算法: <br /> (1)枚举. (poj1753,poj2965) <br /> (2)贪心(poj1328,poj2109,poj2586) <br /> (3)递归和分治法. <br /> (4)递推. <br /> (5)构造法.(poj3295) <br /> (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) <br />二.图算法: <br /> (1)图的原创 2010-12-17 08:41:00 · 1330 阅读 · 0 评论 -
十八个重要的算法
<br />下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法<br />俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijk原创 2010-12-10 19:10:00 · 659 阅读 · 0 评论 -
pku kmp题目小结
<br />题目:pku3167,pku1226,pku3450,pku3461,pku3080,pku2185,pku2752,pku2406,pku1961,pku2541<br />pku2406:<br /><br />题意:For each s you should print the largest n such that s = a^n for some string a.。即求一个字符串的最大重复字串。用kmp中next[]函数来求解。<br />① len==1||s[next[l原创 2010-12-10 19:08:00 · 589 阅读 · 0 评论 -
HDUOJ1106 排序
<br />题目地址 :<br /> http://acm.hdu.edu.cn/showproblem.php?pid=1106<br /><br />很简单的一道水题, 就是直接字符串拆分就行了,好好学习了一下C++的字符串分割函数<br /> <br />#include <stdio.h>#include <stdlib.h>#include <string.h>int cmp ( const void *p, const void *t ){ r原创 2010-12-06 21:48:00 · 493 阅读 · 0 评论 -
应用动态规划的问题
<br /><br />http://www.kuqin.com/algorithm/20080511/8343.html<br />1) 许多字符串操作算法如最长公共子列、最长递增子列、最长公共字串;<br />2) 将动态规划用于图的树分解,可以有效解决有界树宽图的生成树等许多与图相关的算法问题;<br />3) 决定是否及如何可以通过某一特定上下文无关文法产生给定字符串的Cocke-Younger-Kasami (CYK)算法;<br />4) 计算机国际象棋中转换表和驳斥表的使用;<br />5原创 2010-12-06 17:26:00 · 593 阅读 · 0 评论 -
ACM DP训练专辑
<br /><br />Pku acm 1163 the Triangle 动态规划题目总结(一)<br />题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1163<br />对于一个有数字组成的二叉树,求由叶子到根的一条路径,使数字和最大,如:<br />7<br />3 8<br />8 1 0<br />2 7 4 4<br />4 5 2 6 5<br />这个是经典的动态规划,也是最最基础、最最简单的动转载 2010-12-05 14:42:00 · 770 阅读 · 0 评论 -
华侨大学第三届程序设计大赛基础组决赛解题报告
<br /> <br />1001 hdu2054 主要是要考虑大数,还要处理前导0、小数和后面的0、还有负数的情况。给一组数据(-01.00 -1)<br /> <br />1002 hdu2561 比较简单大部分都过了这题,数据比较水,O(n^2)的排序就可以过,最好的方法是O(logn)的竞标赛方法,不过大家好像写的都是O(n)的算法<br /> <br />1003 hdu2714 要注意题目描述的倒数第二句话,除了最后一个数字 可能是 X 外 其他的都只能为 0-9的数字,其他的没什么了<br原创 2010-12-05 13:48:00 · 618 阅读 · 0 评论 -
PKUOJ—DP专辑
<br /><br />PKU——DP专辑<br />1037 A decorative fence<br />1042 Gone Fishing<br />1062 昂贵的聘礼<br />1074 Parallel Expectations<br />1093 Formatting Text<br />1112 Team Them Up!<br />1143 Number Game<br />1160 Post Office<br />1178 Camelot<br />1179 Polygon<br /原创 2010-12-05 14:40:00 · 623 阅读 · 0 评论 -
ACM 常用的调试方法
使用的调试环境为gdb, 编译器为gcc,g++。(服务器就是用的这个)每当做ACM题目的时候都是写好程序然后运行,输入题目中所给的测试数据,但是调试往往不是一次两次就能解决问题的。一般的题目还行。遇到像 Web Navigator 这样的有大量的输入的题目就头痛了。而freopen函数就提供了一种非常简单的解决方法。函数名:freopen声明:FILE *freopen( const char *path, const char *mode, FILE *stream );所在文件: stdio.h参数说原创 2010-12-01 15:46:00 · 1610 阅读 · 0 评论 -
C++ STL中堆的使用
<br /><br />#include<algorithm><br />#include <functional><br />using namespace std;<br /> <br /> vector<int> a;<br /> //建堆,建好后第一个元素最大(小)<br /> make_heap(a.begin(),a.end(), less<int>() );<br /><br /> //取最大值<br /> x=a.front();<原创 2010-12-01 15:44:00 · 5200 阅读 · 0 评论 -
详细解说STL hash_map系列
<br />0 为什么需要hash_map<br />用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得所有的记录,然后按照名字一个一个比较。如果要速度快,就需要把这些记录按照字母顺序排列,然后按照二分原创 2010-12-01 15:51:00 · 470 阅读 · 0 评论 -
大牛的计划-学习
<br />大牛给的计划——<br />一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。 <br />下面给个计划你练练: <br />第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,<br />因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打<br />出来. <br />1.最短路(Floyd、Dijstra,BellmanFord) <br转载 2010-12-17 08:37:00 · 925 阅读 · 0 评论