- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Ubuntu中遇到的基本问题
1.调整整个系统的字体大小,达到和Windows下的缩放125%的效果gsettings set org.gnome.desktop.interface text-scaling-factor 0.7 2.在Ubuntu下将带有CMakeLists.txt的源码文件生成CodeBlock工程文件:cmake -G 'CodeBlocks - Unix Makefiles'在带有CMakeLists
2015-04-16 09:34:05
463
原创 虚拟机下Ubuntu修改分辨率
使用下面的命令可以察看显卡信息 $ lspci | grep VGA01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV710 [Mobility Radeon HD 4500/5100 Series]使用xrandr命令就可以修改分辨率了: 首先,直接运行xrandr查看下分辨率的情况:xrandr
2015-04-15 20:36:15
2085
转载 子类为什么不能重写父类的静态方法
"重写"只能适用于实例方法.不能用于静态方法.对于静态方法,只能隐藏(形式上被重写了,但是不符合的多态的特性),“重写”是用来实现多态性的,只有实例方法是可以实现多态,而静态方法无法实现多态。例如: Employee man = new Manager(); man.test(); 实例化的这个对象中,声明的man变量是E
2015-03-30 10:28:41
1021
1
原创 poj1321
//学好组合数学真的很重要,就是要把组合数学中求解的算法列出来就可以了,但是,,,//为什么我还是写不出来呢???不过理解貌似进步很多,慢慢来吧,也不能一口吃个大胖子#include using namespace std;#define N 8int n,k,success,count,ident;int map[N][N],visitx[N],visity[N],visited[N
2013-11-14 16:47:17
442
原创 poj3009
#include using namespace std;#define N 22int initial[N][N];int w,h,success,step=0;int start[2],des[2],n=1,mlength=10;int dirx[4]={0,1,0,-1},diry[4]={1,0,-1,0};void DFS(int x,int y,int step){
2013-11-14 14:39:31
602
原创 poj2488
#include using namespace std;int path[60][2];int success,visited[8][8],p,q,k;int dirx[8]={-1,1,-2,2,-2,2,-1,1};int diry[8]={-2,-2,-1,-1,1,1,2,2};int check(int x,int y){ if(x>=0&&x=0&&y<q) re
2013-11-13 19:39:39
557
原创 poj3349
第一次用hash解决问题,hash的结构很巧妙,因为是要找到两个相同的元素,出发点是和相同的话,有可能相同,将和相同的元素放在一个集合,再进行进一步的判断,这样的话很明显就是用了hash的地址冲突的解决方法,解决地址冲突的方法,可以用链表法,但是不局限于链表,用顺序容器也是可以解决的。#include #include #define Max_Num 90001#define M
2013-11-02 16:09:48
641
原创 poj1936
水题一道#include #include using namespace std;int main(){ string s,t; while (cin >> s) { cin >> t; int ls=s.length(); int lt=t.length(); if(ls>lt) { cout << "No" << endl; contin
2013-11-01 15:28:53
419
原创 poj3080
//刚开始以为是不要求相连的子串,后来发现是相连的子串,动态规划的时候和不相连的还是有区别的//c++中的find函数找到的是相连的子串#include #include #include #include #include #define N 63using namespace std;int dp[N][N];int cases,everyCase;set substri
2013-11-01 14:35:57
466
原创 poj2299
没想到会这么快就过了。。。但是代码写的很挫。。。还要用_int64...,注意一下输入和输出的时候中间的替换符号的格式即可。/*因为冒泡排序交换的是两个相邻位置元素,所以冒泡排序的交换次数其实是元素的逆序数之和*//*使用归并排序可以得到逆序数之和,具体的规则是使用当左边中的元素还没有归结完的时候,使用了右边的元素,这个就是一个逆序*/#include#define Max
2013-10-24 10:36:46
392
原创 poj2388
#include#include#include #define Max 10002using namespace std;int a[Max],num;void rand_quick_sort(int q,int r){ if(q<r) { srand(time(0)); int index=rand()%(r-q+1)+q; int temp,i,j; i=q
2013-10-23 10:01:43
391
原创 poj1035
/*用暴力搜索即可解决,用trie数来解决*//*trie数解决不了排序的问题*/#include #include #include #define branchNum 26using namespace std;typedef struct Trie_Node{ int index; int len; Trie_Node *next[branchNum]; Trie_N
2013-10-23 09:22:05
367
原创 poj1258
/*蛮简单的题目。prim算法用最小优先队列进行优化即可*/#include #include #include #include #define N 1001#define infinite 0X7fffffff#define pli pairusing namespace std;int myEdge[N][N];int farms,flag[N],dist[N];int
2013-10-15 17:15:04
449
原创 poj2485
Kruskal算法的连接两棵树的方法有很多,按照需要连就可以了。#include #include #define N 502#define infinite 65540using namespace std;struct kruskal{ int from; int to; int value;};int village;int father[N],son[N];
2013-10-15 17:12:22
417
原创 poj1789之Prim
#include #include #include #include #define N 2002#define inifite 0x7fffffffusing namespace std;int edge[N][N],dist[N],flag[N];char type[N][8];int numOfTypes;int getDis(char a[],char b[]){
2013-10-13 17:30:27
462
原创 poj1789之最小优先队列
/*被这个最小优先队列折腾了一下午。。。。。算法在携带的时候觉得一定是对的,2个小时的时间。。。。就是少了一步,在出对的时候,出对的点是需要判断的,在不在当前生成树中,还有判断的时候如果像第一种写法,就是最后出队,队为空的前一个元素肯定会执行,所以要用continue一直出队*/#include #include #include #include #inclu
2013-10-13 17:24:19
513
原创 poj1125之floyd
/*floyd*/#include #define N 201//sometimes it(Inifite we define) plus an integer,if it is 0x7fffffff,it will overflow and //becomes an negative integer.And it will be smaller than anyone.//Don't
2013-10-13 11:24:25
463
原创 poj1125之dijksrta
/*1.对输入做出一定的处理,变成邻接矩阵,是有向图;2.假设1为源点,求出来1到所有点的最大值,然后以2为源点,求出来到所有的最大值,最后取其最小的值作为答案;3.要检查一下是否有不可达的点这个是maxmin,也就是最大值的最小值这个题用floyd会很方便但是性能上可能不如dijkstra*/#include #include #include #include #defin
2013-10-13 10:29:11
508
原创 poj2253
中间有个不可以提前退出的问题,求教大神啊,想不出来。。。/*在utility中已经定义了pair的操作符,大小比较是先比较第一个元素,第一个元素相等时,比较第二个元素也可以重载操作符*///利用最小队列进行优化//dijkstar这种思想真的可以解决好多问题啊。。。。/*主要思想:对点进行松弛,dist[v]表示到达v的路径上的最大边,v的直接前驱节点是u,则dist[v]如果大
2013-10-12 14:55:31
775
翻译 poj1062
这道题大腿上市dijkstar,因为说是答题上,所以思考问题的时候很多地方都不会注意到,具体的注意事项已在代码中讲全。/*金币最少问题一种物品=另一种物品+金币;由于他们的交换一直是要降低价格,也就是例如2.money+2——>4的交换价值为200是一定要小于4.money;假设4——>2是存在的,则4.money+4——>2一定是小于2的,由于边上的权重都是正数,所以不可能出现环的
2013-10-10 19:40:12
430
原创 poj3259
看透本质,是求最短路径的问题,向前的时间可以看做是负权重的边,然后向后的时间可以看做是正权重的边,最后能不能回到出发点,看的是有没有环路,一旦环路,就满足提前的要求,注意,无向边可以看做是两条有向边,图的存储可以采用结构体更为清楚,这道题用bellman还是略慢一些,明天要学一下spfa算法。
2013-10-08 23:55:50
361
原创 poj1860
算是菜鸟的第一个图的运算吧。。。还好bellman算法还好,不过说服自己算法是正确的却是花费了很久的时间。。。如果这个计算式没有这么麻烦的话,可以把权值全部变成负值来求最小的,反过来就是最大的。#include#define MAX 202using namespace std;typedef struct Node{ int a; int b; double rab,c
2013-10-08 22:15:11
397
原创 poj3295
这是我第一个一次就ac的题目,值得纪念一下。总体的来说这个题目也并没有什么难度,只要明白运算的规则是从后面开始进行的就基本解决问题了。中间要注意字符1和数字1的互相转换。#include #include #include using namespace std;int p=0,q=0,r=0,s=0,t=0,flag;int isVariable(char c){
2013-09-26 12:03:27
816
原创 poj2586
连续五个月都是亏本的状态下还要盈利更多,唯一的方法就是这个亏本的月被尽可能的多用,多次利用从而减少亏本月的个数,提高盈利。第一次提高WA,原因是因为没有写i=5的状态,如果是这连续的5月都是亏本才能保持这8个数据都是亏本的话,那全年的就是亏本月了,一年12个月都是亏本,管理层是从哪里得到月盈利的这个数字的,觉得是一个bug,但是没有这个就不通过,无奈加上。#includeusing
2013-09-25 22:49:58
498
原创 poj1328
这道题的解题思路是从一个岛屿出发,而不是从雷达出发,因为岛屿是静态的,而雷达则可以移动,可以根据岛屿的参数来寻则雷达,总结为区间的重叠性。尤其要注意的是两个区间有重合的时候,右区间的更新问题,还有distance是负的状态,以及在x轴没有交点的状态。#include #include #include #include #include using namespace std
2013-09-25 22:14:04
540
原创 2013-8-9
#include #include #include #include #include using namespace std;void main(){list container;string my;while (cin >> my){container.push_back(my);}list::iterator j=container.begin();//注意j定义的位置,不能放在刚开始就开
2013-08-09 10:47:33
412
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人