Keep moving_百度空间
 
背景音乐
 
     
 
文章列表
 
2011-05-20 20:09

很好确又让人很蛋疼的一题,我的做法是把黑格子按周围要放的灯的个数从大到大小进行排序,然后用从从第一个黑格子DFS,每个黑格子周围放灯的情况用状态压缩来表示(注意了,处理第i个黑格子的时候,有可能它的边上已经放了灯了,这里要处理好),还有就是要处理好重复处理状态的问题,这里我用了一个used二维数组进行标记,避免重复搜索,在pku提交两次TLE,于是想到假如某个点是白的话,那么它所在的行和列必定
 
2011-05-01 17:07
双连通分量

2008-10-25 11:33

基本思路:
在DFS的过程中,记录每个点u在DFS树中的深度dep[u]以及该点的子孙所能到达的最浅位置low[u]
如果根结点有大于1个的儿子,那么根结点是割点
如果对于点u的某个儿子v,有low[v] >= dep[u],那么u就是一个割点。
如果对于点u的某个儿子v,有low[v] > dep[u],那么(u,v)是一条割边。

(注:吴文虎《图论的算法与程序设计》

 
2011-04-19 21:53
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。

  istringstream类用于执行C++风格的串流的输入操作。
  ostringstream类用于执行C风格的串流的输出操作。
  strstream类同时可以支持C风格的串流的输入输出操作。

 
2011-02-24 21:02
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门,就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实,大家被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课
 
2011-01-08 23:16

我的做法是把输入的所有字典中的字符串先按字符串长度从小到大排序,如果相度相等,再按字典序排序,对于每一个要查询的字符串,比较word, 先在排序了的字符串中二分查找是否出现了word,如果没有出现过再进行另外处理,即通过两次二分查找,查找到排序后第一个比word长度小1的字符串id(begin),和最后一个比word长1的字符串id(end),答案即在begin到end中,对于需要增加一个字符,删除一个字符,替换一个字符,分别进行判断操作即可,把答案存入一个数组中,最后输出. ,141ms过掉,还是挺快..

PS:地区赛虽然杯具的结束

 
2011-01-07 23:42

#include <string>
#include <iostream>

int main(int argc, char* argv[])
{
     std::string szHello = "hello,world!";

     if( szHello.find("hi")>= 0)
          std::cout<<"hi is exist!"<<std::endl;
     else
  

 
2010-12-31 00:27

数据结构
(1)串 (poj1035,poj3080,poj1936)
(2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299)
(3)简单并查集的应用.
(4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)哈夫曼树(poj3253)
(6)堆
(7)trie树(静态建树、动态建树) (poj2513)

(1)线段树. (poj2528,poj2828,poj2777,poj2886,poj2750)
(2)静态二叉检索树. (poj2482,poj2352)
(3)树状树组(poj1195,poj3321)
(4)RMQ. (poj3264,poj3368)
(5)

 
2010-12-29 12:49

1,防止一个头文件被重复包含

#ifndef COMDEF_H

#define COMDEF_H

  //头文件内容

 
2010-12-05 10:28

基本规则

TopCoder的比赛类型很多,最常见的是周赛SRM(Single Round Match),另外还有TCHS SRM(TopCoder High School SRM,题目和SRM一样,仅限中学生参加,参赛者水平较低,据说涨rating很容易),马拉松(Marathon Matchs),还有TCOpen(每年两次的大比赛)之类的比赛。因为大多数人都在做SRM,所以本文介绍的TC比赛即为SRM。

SRM的规则总结起来就是一句话:75分钟做完3道难度递增的题。

TC的

 
2010-11-15 10:03

sscanf

名称:

sscanf() - 从一个字符串中读进与指

 
2010-11-12 22:49

关于2-SAT(2-Satisfiability)资料的话就是伍昱的《由对称性解2-SAT问题》PPT和赵爽的《2-SAT 解法浅析》PDF。

关于2-SAT的模板可参考[1]、[2]

简要意思就是给定N个组(每个组2个元素)、M个互斥关系,从每个组里挑1个使得给定的不满足

 
2010-11-10 10:40

此题暴露出了偶对AC自动机的理解还停留在初始阶段,做AC自动机后的图理解不是很清楚,看了以前的AC自动机,打印一些通过AC自动机算法构建的图,总算是明白了一些,dp[i][j]表示敲键盘j次后的当前状态在自动机上面的i状态并且不包含给定串的概率,所以i状态并且i转移到的状态不能是目标串的最后一个字符对应AC自动机上的状态,


#include 
 
2010-10-29 18:30

/*PKU 2688 BFS+状态压缩DP/TSP 
dp[i][j] 假设j中的二进制位为1的个数为k那些该方程表示,清除了k个dirt,并且根据位表示不同的dirt, 且当前结束时候机器人的位置在第i个dirt上面花费的最少步数,于是状态转移就不难理解了,WA两次,原来是我的INF申明的是int的最大数,再加一个int就成为负数,于是就WA了
*/
#include 
 
2010-10-28 16:36

/*算法:DFS+剪枝:
剪枝1:如果当前已经达到了9步,而当前点与目标点不在同一线上可以return
剪枝2:如果当前步数+1大于已经得出的最小结果步数,则return;
32ms
*/
#include <cstdio>
#include <cstring>
 
2010-10-27 11:55

此题直接对点进行hash即可,听说现场赛的时候用set. map都可以过,现在数据加强了过不了,排序了也过不了,把LY的去重代码改了一下15ms过掉,我又改为把x,y,z三点进行x*1000000+y*1000+z得到每个点的一个唯一映射,然后对整数进行hash, 注意的是,因为是多组输入,所以得把上一组的hash结果消除掉,如果直接把所有的数都进行一次初始化的化,必然会TLE,可以用一个数组进行记录,记录上一次hash后的值,再对该初始化的点进行初始化,三百多ms过掉...

PS(比赛的时候还是先写好写的(听说现场赛数据一般都不是很强),如果

 
     
 
最近访客
 
 

凌云七风

神魔少爺

3567842

KissMy哀

天上的阳光

风雷迅烈

天上来的福

bobowu360
     
 
好友最新文章
 
     
 
最新评论
 
     
 
个人档案
 
夜雨552734199
男, 
广东 深圳 
 
   

帮助中心  |  空间客服  |  投诉中心  |  空间协议
©2012 Baidu