- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 C++21点纸牌游戏
最近很少去刷题了,一心在搞课程设计。自己觉得搞得不咋样,还好,自己过了。不管做的怎么样知识是自己编的,不会随便到网上找别人的代码去蒙老师。把代码贴下来,也算是完成这学期的一个总结吧,把C++彻底弄懂吧。 游戏分为单人和多人游戏。我就把它分为了两个类,一个单人游戏,一个多人游戏的类,并且由多人派生出单人游戏的类。代码放在三个文件里面: game_class.h文件中代码如下:
2013-06-28 19:42:07 4872
原创 poj3630-tire
题目连接如果是TLE那就是分配内存超时了,动态分配就有行不通了。所以这题要静态分配内存。但这题让我RE很多次了,不知道什么原因,最后看到别人的代码,又没发现什么数据问题。后来才知道,每次访问结束后要释放内存。这又让我加深对c++中类的构造函数和析构函数的理解。确实佩服c++的优点。#include//#include#includeusing namespace std;
2013-06-17 20:30:09 796
原创 poj-2001字典树
题目连接字典树确实是个好东西,操作也比较简单,插入,和查询是字典树的基本操作。只要语法过硬,看下字典树的插入和查询的范例,没什么难度的。代码:#include#include#includeusing namespace std;struct tire{ int num; tire *next[26]; tire(){ num=0; memset(next,0,s
2013-06-17 14:44:24 636
原创 HDU-4475
题目连接分析:这题递推关系很简单。f(n)=2*n*f(n-1);记得要优化。代码:#include#define mod 1000003int a[1000005];void init(){ long long j=1; for(int i=1;i<1000005;i++) { j=(j*2*i)%mod; a[i]=j; }}int main()
2013-06-08 21:20:39 764
原创 HDU-4476
题目连接题意:每个绳子最多只能剪一次。给你n条绳子,问最多可以割成多小条相同的的绳子。分析:先从单个绳子看,要么割成两个不同的,要么相同的。另外我们可以知道割成的长度最多是以为小数点。比如,2,3,最优的方案:是吧3割成1.5和1.5.,2割成1.5.为了处理方便,把它们乘以一个2,它的好处就是把小数转换成整数来处理,这是等效的。其实,我们发现,要使割的相同的绳子最多。就是尽量把每个绳
2013-06-08 21:13:09 852
原创 HDU2222-tire,AC自动机
好吧!为了以后复习,也为了与大家分享!我把书上的简介打到这里.基本概念:AC自动机是一种特殊的自动机,是通过在tires树上添加一些额外的边组成,其核心部分是后缀节点的构建。算法:AC自动机的构建分两步,首先通过所有的模式串建立起tire树,然后从树根向下一次计算每个节点的后缀节点。AC自动机后缀的建立过程和kmp算法中next数组的求解过程十分相似,这里我们也用next数组来
2013-06-07 22:47:57 784
原创 poj1390-dp消方块
题目连接分析:此题我纠结很久,写不出动态方程,看神人代码以后,用一个三位数组dp[i,j,k],表示从第i个到第j个可以消去的方块个数所能获得的最大值。那么就有:dp[i][j][k]=dp[i][r-1][0]+(len[r]+k)^2; len[r]是表示第从r个有连续相同的个数。代码;#include#include#define Max(a,b) a>b?a:b
2013-06-04 21:43:27 773
原创 poj1191-dp棋盘分割
点击打开链接用汉字写的题目,不容小视。这题要很好的空间想象力,开了一个五维数组dp[k][x][y][xx][yy],表示把对角线为(x,y)-(xx,yy)的矩形分割成k块能获得的最小值。先看问题,要我们求方差;如果不化解,有点无从下手.可以为S^2=(1/n)∑xi^2+x^2, (xi表示每个矩形的权值,x 是平均值。)而对于一个给定的棋盘平均值是确定的。要求最小,
2013-06-03 20:45:58 794
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人