??xml version="1.0" encoding="utf-8" standalone="yes"?>性欧美大战久久久久久久久,一97日本道伊人久久综合影院,久久精品成人免费观看97http://www.shnenglu.com/guodongshan/category/15100.htmlzh-cnWed, 13 Oct 2010 03:23:12 GMTWed, 13 Oct 2010 03:23:12 GMT60ACM法http://www.shnenglu.com/guodongshan/archive/2010/10/13/129717.html孟v孟vWed, 13 Oct 2010 01:46:00 GMThttp://www.shnenglu.com/guodongshan/archive/2010/10/13/129717.htmlhttp://www.shnenglu.com/guodongshan/comments/129717.htmlhttp://www.shnenglu.com/guodongshan/archive/2010/10/13/129717.html#Feedback0http://www.shnenglu.com/guodongshan/comments/commentRss/129717.htmlhttp://www.shnenglu.com/guodongshan/services/trackbacks/129717.html一、数论算?/span>
1
Q求两数的最大公U数
2
Q求两数的最公倍数
3
Q素数的求法
A.
范围内判断一个数是否敎ͼ
B.
判断longint范围内的数是否ؓ素数Q包含求50000以内的素数表Q:

二、图论算?/span>
1
Q最生成树
A.Prim
法Q?/span>
B.Kruskal
法Q?/span>(贪心)
按权值递增序删去图中的边Q若不Ş成回路则此边加入最生成树?/span>
2.
最短\?/span>
A.
标号法求解单源点最短\径:
B.Floyed
法求解所有顶点对之间的最短\径:
C. Dijkstra
法Q?/span>
3.
计算囄传递闭?/span>
4
Q无向图的连通分?/span>
A.
深度优先
B
宽度优先Q种子染色法Q?/span>
5
Q关键\?/span>
几个定义Q?/span> 1为源点,n为汇炏V?/span>
a.
点事g最早发生时?/span>Ve[j], Ve [j] = max{ Ve [j] + w[I,j] },其中Ve (1) = 0;
b.
点事g最晚发生时?/span> Vl[j], Vl [j] = min{ Vl[j] – w[I,j] },其中 Vl(n) = Ve(n);
c.
Ҏ动最早开始时?/span> Ee[I], 若边I?/span><j,k>表示Q则Ee[I] = Ve[j];
d.
Ҏ动最晚开始时?/span> El[I], 若边I?/span><j,k>表示Q则El[I] = Vl[k] – w[j,k];
?/span> Ee[j] = El[j] Q则zdj为关键活动,由关键活动组成的路径为关键\径?/span>
求解ҎQ?/span>
a.
从源点vtopsort,判断是否有回路ƈ计算Ve;
b.
从汇点vtopsort,?/span>Vl;
c.
?/span>Ee ?/span> El;
6
Q拓扑排?/span>
扑օ度ؓ0的点Q删M其相q的所有边Q不断重复这一q程?/span>
?/span> L一数列Q其中Q意连l?/span>p之和ؓ正,Lq 之和ؓ负,若不存在则输?/span>NO.
7.
回\问题
Euler
回\(DFS)
定义Q经q图的每条边仅一ơ的回\。(充要条gQ图q同且无奇点Q?/span>
Hamilton
回\
定义Q经q图的每个顶点仅一ơ的回\?/span>
一W画
充要条gQ图q通且奇点个数?/span>0个或2个?/span>
9
Q判断图中是否有负权回\ Bellman-ford
x[I],y[I],t[I]
分别表示W?/span>I条边的v点,l点和权。共n个结点和m条边?/span>
10
Q第n最短\径问?/span>
*
W二最短\径:每D最短\径上的每条边Q每ơ删除一条,然后求新囄最短\径,取这些\径中最短的一条即为第二最短\径?/span>
*
同理Q第n最短\径可在求解第n-1最短\径的基础上求解?/span>

三、背包问?/span>
*
部分背包问题可有贪心法求解:计算Pi/Wi
数据l构Q?/span>
w[i]:
W?/span>i个背包的重量Q?/span>
p[i]:
W?/span>i个背包的价|
1
Q?/span>0-1背包Q?/span> 每个背包只能使用一ơ或有限?/span>(可{化ؓ一?/span>)Q?/span>
A.
求最多可攑օ的重量?/span>
B.
求可以放入的最大h倹{?/span>
F[I,j]
为容量ؓI时取?/span>j个背包所能获得的最大h倹{?/span>
F [i,j] = max { f [ i – w [ j ], j-1] + p [ j ], f[ i,j-1] }
C.
求恰好装满的情况数?/span>
2
Q可重复背包
A
求最多可攑օ的重量?/span>
F[I,j]
为前i个物品中选择若干个放入其体U正好ؓj的标志,为布型?/span>
状态{ULEؓ
f[I,j] = f [ I-1, j – w[I]*k ] (k=1.. j div w[I])
B.
求可以放入的最大h倹{?/span>
f[i,j] = max { f [i- k*w[j], j-1] + k*p[j] } (0<=k<= i div w[j])
其中f[i,j]表示定w?/span>i时取?/span>jU背包所能达到的最大倹{?/span>
C.
求恰好装满的情况数?/span>
Ahoi2001 Problem2
求自然数n本质不同的质数和的表辑ּ的数目?/span>
思\一Q生成每个质数的pL的排列,在一一试Q这是通法?/span>
思\二,递归搜烦效率较高

思\三:可用动态规划求?/span>
四、排序算?/span>
1.
快速排序:
B.
插入排序Q?/span>
思\Q当?/span>a[1]..a[i-1]已排好序了,现要插入a[i]?/span>a[1]..a[i]有序?/span>
C.
选择排序Q?/span>
D.
冒排序
E.
堆排序:
F.
归ƈ排序
G.
基数排序
思想Q对每个元素按从低位到高位对每一位进行一ơ排?/span>
五、高_ֺ计算
高精度数的定义:
1
Q高_ֺ加法
2
Q高_ֺ减法
3
Q高_ֺ乘以低精?/span>
4
Q高_ֺ乘以高精?/span>
5
Q高_ֺ除以低精?/span>
6
Q高_ֺ除以高精?/span>

六?/span> 树的遍历
1
Q已知前序中序求后序
2
Q已知中序后序求前序
3
Q已知前序后序求中序的一U?/span>

?/span> q制转换
1
L正整数进刉的互?/span>
?/span>n取余
2
实数L正整数进刉的互?/span>
?/span>n取整
3
负数q制Q?/span>
设计一个程序,d一个十q制数的基数和一个负q制数的基数Qƈ此十进制数转换为此?/span> q制下的敎ͼ-R{-2Q?/span>-3Q?/span>-4,....-20}
?/span> 全排列与l合的生?/span>
1
排列的生成:Q?/span>1..nQ?/span>
2
l合的生?/span>(1..n中选取k个数的所有方?/span>)

?/span>.查找法
1
折半查找
2
树Ş查找
二叉排序树:每个l点的值都大于其左子树Ml点的D小于其叛_树Q一l点的倹{?/span>
查找

十、贪?/span>
*
会议问题
Q?/span>1Q?/span> n个活动每个活动有一个开始时间和一个结束时_M时刻仅一Ҏ动进行,求满x动数最多的情况?/span>
解:按每Ҏ动的l束旉q行排序Q排在前面的优先满?/span>
Q?/span>2Q会议室I闲旉最?/span>
Q?/span>3Q每个客h一个愿付的U金Q求最大利润?/span>
Q?/span>4Q共R间会议室Q第i个客户需使用i间会议室Q费用相同,求最大利润?/span>
十一、回溯法框架
1. n
皇后问题
2.Hanoi Tower h(n)=2*h(n-1)+1 h(1)=1

十二?/span>DFS框架

十三?/span>BFS框架

十五、数据结构相关算?/span>
1
Q链表的定位函数

2Q单链表的插入操?/span>
3
Q单链表的删除操?/span>
4
Q双链表的插入操作(插入新结?/span>qQ?/span>
5
Q双链表的删除操?/span>


原文链接Q?a target=_blank>http://old.blog.edu.cn/user3/Hailer/archives/2006/1545396.shtml



孟v 2010-10-13 09:46 发表评论
]]>
上v交大ACM队长--谈谈ACM比赛中的代码能力 http://www.shnenglu.com/guodongshan/archive/2010/10/11/129461.html孟v孟vMon, 11 Oct 2010 09:37:00 GMThttp://www.shnenglu.com/guodongshan/archive/2010/10/11/129461.htmlhttp://www.shnenglu.com/guodongshan/comments/129461.htmlhttp://www.shnenglu.com/guodongshan/archive/2010/10/11/129461.html#Feedback0http://www.shnenglu.com/guodongshan/comments/commentRss/129461.htmlhttp://www.shnenglu.com/guodongshan/services/trackbacks/129461.html
一、如何定义代码能?

Comars曄l代码能力作q一个比较准的定义?004q暑假时QComars曄说过Q他认ؓ150行以内的题目Q他?Y率非帔RQƈ且保持稳定;而当代码长度过150行以后,1Y率就开始急速下降了。如果我们画Z?Y率的曲线的话Q?50行就是一个{折点。我们不妨认为,150行就是Comars当时的代码能力。一q以后,l过努力QComars把代码能力提高到?50行。不q,q已l是后话了?

二、如何提高代码能?

我一直觉得写E序和写文章是一个对很好的类比?

写文章需要先从宏观入手,构思文章的l构。写E序同样需要。一个好的结构,是一个好的开始。一个好的开始,是成功的一半?
一好的文章需要各U句式和词藻的合理组合。体现到写程序上来,是一些单句以及三五行的小l构的熟l用。这些都是需要^时ȝ和积累的?

但凡文章写得好的人,一定看q很多别人写的文章。同L道理Q多看别人的E序Q用心地ȝQ也可以提高自己的代码能力?
我鼓励队员去看别人写的程序,特别是像Comarsq样的选手写的E序。从优秀的程序中Q我们可以体会别好的E序l构Q同时也可以学到很多写程序的技巧――三五行的小技巧。在和Comars做队友的两年旉里,我通过看Comars的程序,学会了很多小技巧。逐渐圎ͼ我觉得我写的某些E序已经和Comars有点相像了?
那么Q如果nҎ有Comarsq样优秀的选手可以借鉴Q该怎么办呢Q其实没关系。Q何一个程序都是可以看的。一个程序,q写得再差Q总还会有一两个闪光点,要想办法把它们找出来。另外,E序里写得不好的地方Q也要一一扑և来?
ȝ序,从某U角度来看,像d。好的历史是用来借鉴的;不好的历史则应该引以为戒。读E序也是一P择其善者而从之,其不善者而改之?

三、}慎地对待STL和SCL

STL - Standard Template Library。在ICPC的选手中,STL是相当受Ƣ迎的。的,如果STL用得好,E序可以_很多。既提高了编E的速度Q也提高了编E的准确性?
SCL - Standard Code LibraryQ就是标准程序库。对很多选手来说QSCL可是命根子啊

我觉得STL和SCL都不是坏东西Q但是需要}慎地使用?

我向来不d队员一q队开始用STLQ虽然这U现象普遍存?Q。我认ؓQSTL的作用是锦上添花Q而不是雪中送炭。比方说Q一个heap写得很熟l的队员Q我觉得他可以偷hQ用一下STL。但是,那些不太会写heap的队员,׃应该用STL里的heap。因为,他们真正应该做的是掌握写heap的能力――这才是最本质的代码能力?
学会用STL是g很爽的事情。但是须知有所得必有所失。如果过早地接触STLQ会让你失去很多ȝ代码能力的机会?

至于SCLQ我的主张是量不用?
不可否认Q队里确实有一些hSCL用得很好。但是,我至今仍然没有见q一个SCL用得很好Q同时有拥有很强的代码能力的人。同h有所得必有所失,你^时习惯了LE序Q必然少了很多自己构思程序的ZQ从而媄响代码能力的提高?
当然Q我也不是完全反对去使用SCLQ偶用一下也是可以的Q例如在比赛中。但是,需要注意的是,一定要用自己整理的SCL。我见过有h拿着一本别人整理的SCLQ虽然内容很齐整Q但是我没见他用对过。因本SCL不是他整理的Q他自己都不知道每个E序在用的时候应该注意些什么,于是一用就错?br>

法名言(含义深刻?

1.法的灵――数据结?法=E序

2.剪枝是搜索的关键?

3.可贪则贪?

4.枚D是最Ҏ实现的,但也是最慢的?

5.N往往需要另辟蹊径?

6.法q不是孤立的Q而是可以l合在一L?

7.不做烂题水^也会下降Q但不想N永远不会提高?/div>

孟v 2010-10-11 17:37 发表评论
]]>C++中获取高_ֺ旉?http://www.shnenglu.com/guodongshan/archive/2010/10/06/128818.html孟v孟vWed, 06 Oct 2010 13:39:00 GMThttp://www.shnenglu.com/guodongshan/archive/2010/10/06/128818.htmlhttp://www.shnenglu.com/guodongshan/comments/128818.htmlhttp://www.shnenglu.com/guodongshan/archive/2010/10/06/128818.html#Feedback0http://www.shnenglu.com/guodongshan/comments/commentRss/128818.htmlhttp://www.shnenglu.com/guodongshan/services/trackbacks/128818.html解决一个问题通常有多U方法, 我们L扑ֈ最高效的,所以需要对比不同算法执行所用的旉。可惜的是,C++中提供的Ҏ一般只能精到毫秒U?/p>

提供一U更加精的Ҏ。编写一个函敎ͼ可以在C++中这样写Q?/p>

__declspec (naked) unsigned __int64 GetCpuCycle( void )
{
    _asm
    {
        rdtsc
        ret
    }
}

RDTSC的返回值存攑֜EDX EAX中, EDX为高32位,EAXZ32位。这里的 RDTSC 指o( Read Time Stamp Counter )Q?获得CPU的高_ֺ旉戟?/p>

q样以来我们可以在随处获得当前的CPU自上电以来的旉周期CQ?/p>

unsigned __int64 iCpuCycle = GetCpuCycle();

Ҏq个数字我们可以计算Z电以来所l历的时? Us )Q?/p>

second = iCpuCycle / CPU主频? HZ );

1GHZ = 1,000 MHZ = 1,000,000 KHZ = 1,000,000,000 HZ;

获取两次作差可以得到运行的旉了。其实没必要换算成时_x差值就行了?/p>

 

PSQ?/p>

可以攑ֿ一个unsigned __int64 不会溢出 - - 可以计算一下你的CPU能保存多年的时间。?/p>

Ҏq一Ҏ有几个好处: 一是精度高Q二是函数调用开销最,三是q_限制,四是h和CPU主频相对应的直接关系。。?但是׃_ֺ高,得到的数字Q动比较大。?br>



孟v 2010-10-06 21:39 发表评论
]]>
˾þþþƷ| þþƷAɫ| þþƷ2020| avҹһƬѿþ| һþaþþƷۺҹҹ | þþþƷר| ƷþþþþþþþĻ| ĻȾþþþþþ| 99ھƷþþþþþ | 鶹þþ9ԴƬ| þþƷվ| ɫþþۺľþav| ŷƷרþ| ƷƵþþþ| 97þùۺϾƷŮ| ŷþþƷһcƬƬ| avҹһƬѿþ| ɫۺϾþþþĻ | ݾþþù| ŷһþ| þþƷ| þþۺϾɫ۹| þAVĻ| þþþþavѿƬ| 97Ʒþ찴Ħ| AVպƷþþþþþ| þþþø߳ۺӰԺ| þùƷһ| Ʒ˾þþþҹӰ| ޾ƷŮþ777777| ƷþþþaӰԺ| ŷ˼Ծþ| þþþòҰ¸߳| ԸߺþþþþþþAAAAA| þerƷѹۿ8| Ļһþվ| avþþþòվ| þþþavר| 99þù޸ۿ2024 | þseƷһӰԺ| Ůþþþþjþ|