自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XD

为了将来,拼了!~

  • 博客(26)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 北大ACM2456——Aggressive cows~~二分搜索

这一题,也是简单的二分搜索,求解放置的牛之间的距离尽可能远,也就是最大化最小值。主要的一步就是将第i头牛放在了x[j]的位置中,第i + 1头牛就要放在满足x[j] + d ,k的最小值。下面是AC的代码:#include #include using namespace std;int N, M;int X[100005];bool C(int x){ int

2015-04-30 22:03:45 816

原创 北大ACM1064——Cable master

题目主要的意思是:有N条绳子,它们的长度分别为Li,如果从它们中切出K条长度相同的绳子的话,这K条绳子每一条的最长的长度能是多少?这一题用二分搜索可以很好的进行求解。长度分别为0到INF(INF为尽可能大的数)。然后进行二分搜索,不断的缩小范围,循环一定的次数,可以很好的将答案求出。G++double要用%lf输入,用%f输出,C++是window下的,用%lf输入,用%lf输出。

2015-04-30 21:34:56 861

原创 杭电ACM1116——Play on Words~~欧拉路径与欧拉回路

这一题,相比之前做的题目,增加了欧拉路径的求解。而且这一题是有向图。题目大概的意思就是成语接龙,能接起来就算可以打开门,因此要考虑两种,一种是回路,另外一种是一条路径。第一次WR就是因为没有考虑回路这一个因素。有向图中,欧拉回路与欧拉路径的求解方法:1.欧拉回路:首先当然是图连通,其次就是所以顶点的入度都等于出度。2.欧拉路径:首要的还是图连通,然后就是存在一个顶点的出度大

2015-04-30 12:16:05 999

原创 杭电ACM3018——Ant Trip~~欧拉回路

这题,欧拉回路的应用,只是比较麻烦。题目的意思是,一群蚂蚁,想要走遍给定的每一条边,但是,图不连通或者不存在欧拉回路的不可能走完,所以可以将人分组,求解最少的分组的数目。解题的主要思路是:1.将各点进行合并,使用并查集。2.遍历并查集,查找各个连通图的奇数度的个数。3.如果该连通图的奇数点为0,只需一笔。如果不是,就需要奇数点的数目 / 2。还有一点需要注意的是,单个点应该

2015-04-29 21:36:33 539

原创 杭电ACM1878——欧拉回路

简单的欧拉回路,如题。欧拉回路的判断:1.在有向图中:首先必要的条件是图连通,所以顶点的入度都等于出度。2.在无向图中:首要条件还是图连通,其次就是所以顶点都是偶数度(该顶点的度为偶数)这一题是无向图,所以根据判断方法来写,很简单,判定就不证明了。我是用并查集来判断图是否连通的。下面是AC的代码:#include #include using nam

2015-04-29 16:00:10 1062

原创 杭电ACM1671——Phone List~~字典树

这一题,也是简单的字典树的应用,不过这里不是字母,而是数字。题目的意思是判断输入的字符串会不会是其他字符串的前缀。就是这么的简单。下面是AC的代码:#include #include using namespace std;class node //结点的结构体{public: node* P[10];};node* root;

2015-04-29 15:39:56 606

原创 北大ACM3669——Meteor Shower~~简单的广搜

这一题,简单的广搜的应用,只是题目的陷进比较多。题目大概的意思是,一个人在Point(0,0)的位置,然后会有陨石坠落,陨石坠落的地方的上下左右中都会被砸毁,每一个陨石会在第T秒坠落。问你找到一个安全的地方的最短时间,否则输出-1.下面是AC的代码,有详细的注释:#include #include #include #include #include using namesp

2015-04-29 14:48:19 728

原创 南阳理工ACM42——一笔画问题

一笔画问题,也就是欧拉道路,这一题,简单的欧拉回路的应用。什么是欧拉回路?欧拉回路就是在图A中,存在一条路径使得每一条边都走过一次,并且这条路径是一个圈,就是欧拉回路。欧拉回路的判断:1.在有向图中:首先必要的条件是图连通,所以顶点的入度都等于出度。2.在无向图中:首要条件还是图连通,其次就是所以顶点都是偶数度(该顶点的度为偶数)这一题,还需要加上一个条件,也就是存在两个奇

2015-04-29 12:04:21 1195

原创 杭电ACM1286——找新朋友~欧拉函数的应用

欧拉函数欧拉函数,对于正整数n,欧拉函数就是小于或者等于n的数中与n互质的数的数目。通式为:F(x) = x * (1 - 1 / p1) * (1 - 1 / p2) * ....... * (1 - 1 / pn);p1,p2,p3.....pn为x的质因子。每一质因子只出现一次。即p1 ≠ p2 ≠ ....pn; 例如12 = 2 * 2 * 3;2只能算一次。有了这个欧拉

2015-04-28 14:43:55 981

原创 杭电ACM1248——寒冰王座

简单的完全背包。将三种物品的价格可以理解成既是价值,又是重量。简单动态规划AC代码:#include #include using namespace std;int dp[10005];int a[3] = {150, 200, 350};int b[3] = {150, 200, 350};int max(int x, int y){ return x >

2015-04-28 09:23:12 5978 1

原创 杭电ACM1249——三角形

三角形平方平面,推到一下,就可以得出公式:F(1) = 2. F(2) = 8; F(n >= 3) = F(n - 1) + 6 * (n - 1)。AC代码:#include using namespace std;int a[10005];int main(){ a[0] = 0; a[1] = 2; a[2] = 8; for(int i = 3; i <

2015-04-28 09:19:54 627

原创 杭电ACM1251——统计难题~简单字典树的应用

字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。(以上的摘自百度百科~)题目的意思:给出一些单词,让你统计以某个字符串为前缀的单词有多少个。一开始,我用暴

2015-04-28 08:07:55 1069

原创 杭电1256——画8

这题很简单,算出第一行有几个,和竖线宽度就OK了。知道了竖线宽度和第一行有几个字符,剩下的都很简单了。下面是AC代码:#include using namespace std;int main(){ int n, m; char a; cin >> n; while(n--) { int i, j; cin >> a >> m; int q = (m -

2015-04-27 22:08:08 806

原创 杭电1233——还是通畅工程~简单最小生成树问题

这题,典型的最小生成树问题,可以用Kruskal算法来实现,配合着并查集来高效求解。先将各边按权值进行从小到大排列。遍历一个各边便可求解,时间复杂度为O(|E|log|V|),其中E为边的个数,V为顶点数。下面是AC代码,代码中有注释:#include #include #include using namespace std;class data

2015-04-27 14:44:01 732

原创 进程间的通信——邮槽与命名管道

进程间的通信是指在系统中两个或多个进程之间通过第三方进行数据共享。1.邮槽.邮槽是window系统提供的一种单向通信的机制。即进程中的一方只能写入或者读取数据,而另一方则只能读取或写入数据。通过邮槽,可以实现一对多或跨网络的进程之间的通信。但邮槽传输的数据量非常小,一般只有400KB左右。邮槽创建函数CreateMailslot,函数原型:HANDLE CreateMail

2015-04-26 19:19:57 740

原创 多线程实现线程同步——互次对象

互次对象实现线程同步。1.使用API函数操作互次对象。函数CreateMutex用于创建并返回互次对象。函数原型:HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD BOOL bInitialOwner, // initial owner LPC

2015-04-26 11:40:43 838

原创 多线程实现线程同步——事件对象

事件对象是指在程序中使用内核对象的有无信号状态实现线程的同步。1.使用API函数操作事件对象API函数为CreateEvent;函数原型为:HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD BOOL bManualReset, // reset ty

2015-04-25 22:13:35 895

原创 多线程实现线程同步~~临界区对象

临界区对象  临界区对象,是指当使用某个线程访问共享资源时,

2015-04-24 22:46:12 2433 1

原创 多线程~~简单的线程创建,C语言实现

线程,是计算机中最小的执行单元。通常,在window应用程序运行时,操作系统都会为其自动创建一个线程,即主线程。通过主线程,可以创建多个线程或进程。  使用多线程,可以提高程序的执行效率。  线程创建函数CreateThread(),属于API函数;  函数原型为:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttr

2015-04-24 21:30:58 37704 4

原创 杭电ACM1081——To The Max

开始看到这题的时候,一点头绪都没有,本来想用暴力解决的,可是看到n可以到100,估计了下会超时,就放弃了,想过用动归做,但是没有想到如何去做。就暂且放下了。  今天再看到这题,百度了下,明白了如何去做了,就是将各行合并,再当作最大子序列来做,就很简单了。  n行,分别跟其他的行进行合并,然后动归计算最大值,不断的跟新最大值。附上AC代码:  #include #include

2015-04-23 21:34:03 1272

原创 杭电1175——连连看~简单的广搜

这一题,做了好久,终于AC了,感觉题目有点坑,唉,题目不是很难,就是坑!!~~找一个错误,找了半天,后来才看到是变量用错了!!~题目中的b数组是标记数组。#include #include #include using namespace std;#define INF 1000000int xy[4][2] = { { -1 , 0 } , { 1 , 0 } ,

2015-04-22 22:23:02 869

原创 杭电ACM1181——变形课

这个题目,简单的搜索题,刚开始我是用并查集做的,结果很明显WA,后来想了下,如果有个单词m开头,b结尾的也可以,所以很错误的想法。运用广搜,可以很好的解决。我的代码中的是将字符串的位置i入队的,不是整个字符串。水题一个,下面是AC代码:#include #include #include using namespace std;bool vis[1000];char

2015-04-20 14:20:55 1372

原创 网络编程~C++实现局域网通信

最近在学网络编程,学习了UDP的通信原理。写了基于UDP的服务端和客户端,可以实现局域网直接的通信,可以实现一个服务端,对多个客户端,试验过两个客户端的,两个客户端可以接收到服务端的消息,两个客户端的消息服务端也可以收到,两个客户端之间无法通信。在接收方面,可能会出现接收混乱,因为是接收一句,发送一句。 下面是服务端的代码,是在控制台上实现的.#include #include usi

2015-04-17 22:24:44 9564 2

原创 南阳ACM~~214单调递增子序列(二)

刚开始做这题的时候,以为是简单的动态规划,后来提交之后发现超时了,看到了N可以达到100000,用简单的动态规划,时间复杂度达到了N^2,明显会超时。想了挺久的,还是不知道怎么做,百度了一下,才知道了原来运用二分搜索,把问题简化成类似排序,时间复杂度为logN,就不会超时了。下面是AC的代码,看注释可以很容易理解的。如说的有错,欢迎指正。  #include #include #i

2015-04-15 18:45:00 832

原创 南阳理工--21--三个水杯~~广度优先搜索

这一题运用广度优先搜索可以解决,主要是各个状态的转移以及某个状态出现过要标记,避免重复,进入死循环。下面是AC代码,上面有详细的讲解:# include # include # include using namespace std;class data //队列的结点,{public: int water[3];

2015-04-08 22:34:22 900

原创 杭电1272~~小希的迷宫——并查集判断是否存在环

今天,刚学习了并查集对于并查集,也有了一定的理解了。杭电1272这一题,主要是给你几对数,表示这两个数(可以理解为村落)直接有路,而从每一个村落到另外一个村落只能有一条路,也就是不能存在环。而并查集就是将有一定联系的村落组成一个部落(也就是集合),如果给的两个村落都存在于同一个部落,也就是存在环了。还有一种情况就是存在两个部落,也就是有些村落到不了另一些村落。这一点,我们需要通过判断 顶点

2015-04-04 22:29:30 609

SkinH_VC。rar

VC换肤库,可以让你的界面焕然一新。支持各种环境,各种开发工具

2015-04-26

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

TA关注的人

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