自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (3)
  • 收藏
  • 关注

原创 hdu1249(三角形划分区域,直线划分区域,折线划分区域)

题目链接:三角形题目大意:中文题目分析:递推1、一条线段和一条射线都可以将平面分成两个部分2、折线的端点处只能将平面分成一个部分一、首先考虑直线的情况      如上图,一条直线将一个平面分成两个,两个平面分成4个,当加入第三条直线时,与前两条直线产生了两个交点,将第三条直线分成了1条线段和两条射线,将原有的区域一分为二,增加了3个区域。     递

2016-12-30 09:32:52 1417

原创 hdu1252(bfs)

题目链接:Hike on a Graph题目大意,给定一个图,图上有n个点(0 题目分析:裸的bfs,开一个vis[maxn][maxn][maxn]记录三个pieces到达的状态判重代码#include #include #include #include #include using namespace std;const int maxn=60;cha

2016-12-29 08:00:26 618

原创 hdu1255(线段树求面积交)

和Poj1151线段树求面积并的原理相同不同的地方:至少覆盖一次one和至少覆盖两次two的更新 注意点:1、由于没有push_down的操作,当父节点的cover==1,子节点的cover也等于1,则父节点的two要更新                                                            当父节点的over==0,子节点的cove

2016-12-28 13:20:17 331

原创 hdu1247(字典树/map)

题目链接:Hat’s Words题目大意:给定一些单词组成一个字典,判断每个单词是否能由字典中的词组成分析:50000个单词,假设长度为len,如果暴力的话每个单词需要比较len*50000^2次,肯定会超时;如果用字典树,建树O(n*len),查询每个单词只需要O(len)对每个单词,划分为(1,2...i,)和(i+1....len)若恰好能找到则输出#pragma war

2016-12-27 23:53:30 486

原创 hdu1251(map用法/字典树模板)

很无语,字典树超内存过不了,map才嫩过#include #include #include #include #include using namespace std;int main(){ char str[17]; map m; while(gets(str)) { int len = strlen(str);

2016-12-23 19:19:23 312

原创 Poj1151线段树求面积并

简单模拟一下,如图三个矩形,分为将其上下底边由下至上标号为1,2...6,每扫到下底边,该底边所覆盖的范围cover+1,每扫描到下底边,其覆盖的范围cover-1过程如下图这样依次计算,当扫描到第n-1条边的时候就计算出来面积的并其中还是要用到离散化的知识代码#include #include using namespace std;

2016-12-23 19:03:52 298

原创 hdu1226

题目链接:超级密码题目大意:找出最小的一个数,满足由给定的(1)m个数字组成(有些数字可以不用)(2)可以整除一个数n由于最多可以有500位数,每个数字最多有16种情况,单纯暴力肯定会TLE.--》bfs用bool num[16]记录给出的m个数字,一步步遍历由于数字位数大,用大了大数求余int mod(const node &cur){ int tmp=

2016-12-18 15:40:26 461

转载 深度探索C++对象模型

目前看到的最好的一份笔记:点击打开链接

2016-12-16 20:37:26 309

原创 hdu1222(扩展欧几里得)

题目链接:Wolf and Rabbit题目大意:n个洞逆时针方向,狼每走一步要垮n个洞,即0,n,2n...这样走,循环走,如果总有洞是走不到的输出YES,反之输出NO。分析:假设狼一共走了x步,那么狼所在洞的编号为k=(x*m)%n    (1)如果所有的洞都能走到,那么k可以取遍0,1,2,...,n-1(1)式等价于xm-ny=k              (2

2016-12-16 16:17:33 597

原创 hdu1216(list运用)

题目链接:Assistance Required一队人,编号为2,3,4,5,.....第一次编号为2的人出队可以去玩了,然后,他后面每数到第2个人都必须去洗碗,即每隔一个人出队,剩下的人为3,5,7,9,.......然后编号为3的人去玩,剩下的后面每数到第2个人都必须去洗碗,剩下的人为5,7,11,13,。。。这样一直处理,可以去玩的人都是lucky的,找出3000个lucky

2016-12-14 15:03:35 340

原创 APUE习题10.6(父子进程同步)

编写一段程序测试图10_24中父子进程的同步函数,要求进程创建一个文件并向文件写一个整数0,然后进程调用fork,接着父子进程交替增加文件中的计数器值,每次计数器值增加1,打印是哪一个进程进行来该增加1操作没有完全按照题目要求做,直接fork之后01234这样打印的先上一个标准输出的实现1、写到标准输出的实现main.c:以下实现是有问题的问题在于:子进

2016-12-14 13:36:51 1734

原创 hdu1211(模的逆元、扩展欧几里得)

eg:解二元不定方程ax+by+c=01)当a=0或b=0时,方程的解确定2)c不是gcd的倍数时,方程无解故只考虑ab!=0且c|gcd(a,b)的情况1、扩展欧几里得算法     找出一对整数(x,y),使得ax+by=gcd(a,b)。 例如,gcd(6,15)=3,6*3-15*1=3,其中x=3,y=-1。 这个方程还有其他解,如x=-2,y=1。

2016-12-13 11:13:06 800

转载 _exit和exit的区别

在Linux的标准库函数中,有一套称作高级I/O的函数,我们熟知的printf 、fopen 、fread 、fwrite都在此列,他们也被称作缓冲I/O。其特征是对应每一个打开的文件,都存在一个缓冲区, 在内存中都有一片缓冲区,每次读文件会多读若干条记录,这样下次读文件时就可以直接从内存的缓存中取出,每次写文件时也仅仅是写入到内存的缓冲区,等待满足一定的条件(达到一定的数量,或者遇到特定字符,如

2016-12-12 10:03:34 206

原创 hdu1207(递推)

一、经典汉诺塔     有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问至少需要多少次移动,设移动次数为F(n)   设F[n]表示将n个盘从按规则从X柱移到Z柱至少需要移动的次数。   当n=1时,F[n]=1;   当n>1时,将移动盘之的过

2016-12-11 11:20:07 1774

转载 SIGINT、SIGQUIT、 SIGTERM、SIGSTOP区别

2) SIGINT程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。3) SIGQUIT和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。15) SIGTERM程序结束(terminat

2016-12-09 21:22:20 49529 1

原创 hdu1204(Markov过程,赌徒输光问题变形)

题目链接:糖果大战回到本题:本题是赌徒问题的变形,增加了平局的情况,设f(i)是从状态i出发到达n+m状态先于到达0状态的概率考虑从i出发后移动一步后的情况,以概率p(1-q)移动到j+1的假设下,到达n+m的概率为f(i+1)同理,以概率q(1-p)移动到j-1的前提下,到达n+m的概率是f(i-1)如果两人是平局,以概率1-p(1-q

2016-12-09 20:04:34 5898 1

原创 hdu1201(水)

题目链接:18岁生日给出出生日期,问到18岁生日有多少天如图,我们要求的实际是黑线的区域,但为了简化计算我实际是按红线区域求得因此在端点出也要判断闰年的情况如果出生当年是闰年,且在2月之前出生,我们就经过了一个闰年,但在计算时没有加进去,因此要加上一天同理在18岁生日当年也要判断#include using namespace std; #include

2016-12-09 18:47:14 688

原创 hdu1198(DFS/并查集)

题目链接:Farm Irrigation如左图所示,有11种管道,问给定一个图,最少要挖几个井才能灌溉到所有的管道如右图,至少需要三个井口两种做法DFS和并查集难点在管道接口的判断:将一个块变成四个点,有管道伸出就是1,否则就为0判断两个块是否在该方向管道是想通的 用&就可以了int pipe[][4]={ {1,0,1,0}, {1

2016-12-09 18:37:49 349

原创 hdu1195(BFS)

题目链接:Open the Lock给定一个四位数,将它变成另外一个四位数只能有一下几种操作1、给一个数字+1或者-1,给9+1变成0,给0-1变成92、将一个数字和其左右的数字交换每个操作是1步,求最少步数bfs,每次出队进行上述所有操作,新节点入队代码:#include #include #include #include using names

2016-12-09 17:17:00 699

原创 hdu1194(水)

题目链接Beat the Spread!给定两个分数a,b的和与差的绝对值(a,b∈N),如果能求出a,b就直接输出,否则输出impossible注意int型计算(a+b)/2和(a-b)/2自动取整因此要判断a,b是否同是奇数或者同是偶数,否则我们也是计算不出来的#include #include using namespace std;int main

2016-12-09 17:11:58 467

原创 hdu1181(DFS)

题目连接:变形课以a开头b结尾的一个单词,可以使A物体变成B物体,问是否能把Ball变成MouseDFS:建图,以a开头b结尾的单词就在ab之间连一条边代码#include #include #include #include using namespace std;const int maxl=1005;char str[maxl];bool g[26

2016-12-09 17:06:24 251

原创 hdu1180(BFS)

题目链接 诡异的楼梯5 5**..T**.*...|...*.*.S....如图所示的地图,|代表楼梯,每分钟移动一次方向,只能顺着楼梯的方向走,每次可以在 . 或S或T处停留,求从S到T的最小步数没有什么难度,在楼梯的地方模拟清楚就行,把方向的各个情况弄清楚记录时间差,判断到达楼梯时的方向,当是|的时候,只能沿着上下方向走,当是—时只能沿着

2016-12-09 17:02:39 756

原创 hdu1178(简单公式)

题目链接:Heritage from father计算#include #include #include #include #include using namespace std;int main(){ //freopen("in.txt","r",stdin); double n; while(scanf("%lf",

2016-12-08 21:45:20 310

原创 hdu1176(DP)

题目链接:免费馅饼接馅饼,最开始在5,每秒只能移动一个单位,每次只能接住当前位置的馅饼状态转移方程dp[pos][t]=max(dp[pos][t-1],max(dp[pos-1][t-1],dp[pos+1][t-1]))+pie[pos][t];dp[pos][t]表示在pos点,第t秒能接到的最多馅饼几个注意:1.pos取1-11,这样可以避免

2016-12-08 21:31:37 230

原创 hdu1175(DFS)

题目链接:连连看就连连看啊,线的转折次数不超过两次DFS,注意剪枝,当转的次数=2,如果不能直线走过,就回溯#include #include #include using namespace std;const int maxn=1005;int g[maxn][maxn];bool vis[maxn][maxn],tag;int n,m,sx,sy,ex

2016-12-08 21:21:26 320

原创 hdu1164(素数筛选)

题目链接:Eddy's research 将一个数分成几个质数的乘积1.素数筛选法void init(){ memset(vis,0,sizeof(vis)); int m=sqrt(maxn+0.5); for(int i=2;i<=m;i++){ for(int j=i*i;j<=maxn;j+=i){ vi

2016-12-08 21:10:28 336

原创 hdu1163

题目链接:Eddy's digital Roots给出一个数n,求n^n的数根,数根即各位数字之和,如66-->6+6=12-->1+2=3,则66的树根是3。纯数学解法:九余数定理:这个数字根等于原数除以9的余数,如66%9=3n^n直接计算可能溢出,(a*b)%c=((a%c)*(b%c))%c#include #include using namespace

2016-12-08 21:07:23 328

原创 hdu1160(最长上升子序列变形)

最长上升子序列变形状态转移方程if(mice[j].w>mice[i].w&&mice[j].s<mice[i].s){ if(dp[i]<dp[j]+1){ dp[i]=dp[j]+1; pre[i]=j; } }代码

2016-12-08 20:58:15 1789

原创 poj 2528(线段树+离散化)

题目链接Mayor's posters如图,贴海报,后面的海报可以贴在前面的海报的上面,按给定的顺序在区间为(l,r)的位置去贴海报,问最后可以在表面看见的海报有多少张给定的区间范围很大,为1 i 静态的话,直接用线段树进行区间更新,需要1000000个叶子节点,还没TLE就已经MLE了但是海报的数目1 例如1 4,2 6,9,12三张海报1

2016-12-06 20:41:15 948 1

原创 hdu1158(dp)

题目链接Employment Planning雇佣工人,每个工人每个月有一定的工资,雇佣和解雇都要花费一定的钱每个月规定了至少要多少工人,求一年最少的花费状态转移方程 dp[i][j]=min(dp[i][j],dp[i-1][k]+trans(k,j)+j*salary);表示第i个月雇佣j个工人需要的最少钱数,trans(k,j)表示从k个人变成j个月的花费

2016-12-05 20:49:24 313

原创 hdu1150 最小点覆盖

题目链接Machine Schedule有A和B两个机器,每个机器有不同工作模式,有很多任务,每个任务可以自在A上以mode_i运行或者是在B上以mode_j运行,每次换mode都要重启机器给出k个任务,要求怎么安排才能让重启次数最少最小点覆盖:最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=

2016-12-05 20:15:17 324

原创 hdu1142(dijastra+记忆化搜索)

题目链接A Walk Through the Forest记忆化搜索介绍 hdu1078如果从B到home的路比任何从home到A的路要短,那么久有一条A从到B的路,计算一个可以由几条路如图dfs(1)⑴ A->2,return 1, p[A]+=1  p[1]+=1                               ===>p[A]=1  p

2016-12-05 19:49:27 354

原创 hdu1098(数学归纳法)

题目链接Ignatius's puzzle对f(x)=5*x^13+13*x^5+k*a*x输入一个k,找出最小的a使得对任意x都满足,f(x)%65=0假设f(x)=5*x^13+13*x^5+k*a*x满足上述条件证明f(x+1)也满足所以只要求(18+ka)%65是否为0#include #include using namespace std

2016-12-05 18:58:02 332

原创 hdu1113(map用法)

题目链接Word Amalgamation一个字典中有很多单词,给出一些列单词输入,不考虑且字母的顺序,在字典查到对应的索引aptr可以在字典中对应到part,tarp,trap但最后输出单词的顺序必须按字典序的用mapkey是单词本身,value是sort之后的结果eg:      注意map自动按key进行排序#include #i

2016-12-05 18:30:24 505

原创 hdu1084

题目链接What Is Your Grade?解5道题得100分解4道题,如果你在解四道题的人当中排在前面的一半得95分,否则90分以此类推模拟,注意只有一个人解4,3...道题的情况#include #include #include using namespace std;const int maxn=105;struct node{

2016-12-05 18:19:21 493

164个JAVA完美程序

164个JAVA完美程序,适合大作业。

2015-12-06

数字信号处理理论算法与实现(胡广书).的Matlab代码及参考文献

《数字信号处理理论、算法与实现》是2003年清华大学出版社出版的图书,作者是胡广书。绪论 O.1数字信号处理的理论 O.2数字信号处理的实现 0.3数字信号处理的应用 O.4关于数字信号处理的学习 参考文献 上篇经典数字信号处理 第1章离散时间信号与离散时间系统 1.1离散时间信号的基本概念 1.1.1离散信号概述 1.1.2典型离散信号 1.1.3离散信号的运算 1.1.4关于离散正弦信号的周期 1.2信号的分类 1.3噪声 1.4信号空间的基本概念 1.5离散时间系统的基本概念 1.6LSI系统的输入输出关系 1.7LSI系统的频率响应 1.8确定性信号的相关函数 1.8.1相关函数的定义 1.8.2相关函数和线性卷积的关系 1.8.3相关函数的性质 1.8.4相关函数的应用 1.9关于MATLAB 1.10与本章内容有关的MATLAB文件 小结 习题与上机练习 参考文献 第2章Z变换及离散时间系统分析 2.1Z变换的定义 2.2Z变换的收敛域 2.3Z变换的性质 2.4逆Z变换 2.4.1幂级数法 2.4.2部分分式法 2.4.3留数法 2.5LSI系统的转移函数 2.5.1转移函数的定义 2.5.2离散系统的极零分析 2.5.3滤波的基本概念 2.6IIR系统的信号流图与结构 2.6.1IIR系统的信号流图 2.6.2IIR系统的直接实现 2.6.3IIR系统的级联实现 2.6.4IIR系统的并联实现 2.7用z变换求解差分方程 2.8与本章内容有关的MATLAB文件 小结 习题与上机练习 参考文献 第3章信号的傅里叶变换 3.1连续时间信号的傅里叶变换 3.1.1连续周期信号的傅里叶级数 3.1.2连续非周期信号的傅里叶变换 3.1.3傅里叶级数和傅里叶变换的区别与联系 …… 下篇统计数字信号处理 附录 索引

2015-12-06

设计模式实训教程代码

如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景、更具指导性。本书兼收并蓄、博采众长,是设计模式领域里的里程碑之作。 全书共分为四部分,第一部分从原理的角度阐述了面向对象程序设计的6大原则;第二部生动地讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂,趣味性极强而又紧扣模式的核心;第三部分对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;第四部分探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。最后,本书还附有一份设计模式彩图,可以裁剪,便于参考。

2014-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除