自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 Java日记_17.9.01——点击按钮后,键盘监听失效的原因与解决办法

最近在自学JAVA,听了前辈的安利在做自己的小画板,然后悲剧就发生了,同时添加按钮和键盘监听之后,就产生了如题的问题,一直觉得是自己监听事件注册的不对,改了一天,然后终于找到了原因,真的巨坑啊我觉得qwqwwww!贴吧有一篇帖子,里面有聚聚分析了问题,稍稍记录一下,以防自己傻乎乎的忘了。原因:焦点切换问题。点击按钮后,焦点就到了按钮上,现在按键盘只能被按钮接收到,而不会

2017-09-01 23:57:06 4235 3

原创 ACM日记_17.7.22——多重背包模板

#include #include #include using namespace std; int dp[100009],c[100009],w[100009],m[100009]; int n,M,t; void zeropack(int cost,int weight) { for(i

2017-07-22 00:54:15 280

原创 ACM日记_17.5.01——矩阵快速幂整理(例题i:Fibonacci POJ - 3070)

原题略,主要考察的是矩阵快速幂的做法,直接输出结果就好,灰常适合做模板!遂记录之!#include #include #include #include #include #include #include #include #include #define Mod 1

2017-07-21 12:40:08 366

原创 C++日记_17.6.11 迭代器报“vector iterators incompatible”错的一种情况

C++项目催人老,尤其还是自己一个人要干一个组的活的时候...不过也确实通过这种方式磨练了自己,这不今个就遇到个奇葩问题。迭代器报错:“vector iterators incompatible”。这啥?我蜜汁自信,感觉并没有产生不搭的问题啊!完全摸不到头脑,遂谷之。当时的代码片段如下: auto prop_itr = RoleCardController::getInstance

2017-06-11 17:12:39 724

原创 C++日记_17.5.11 静态成员函数的小应用一则

从第一次见到静态成员函数的那天起,我就十分不理解他到底有什么作用?至于静态成员变量的作用,我觉得非常好理解,它可以理解为类的一个属性,很多属性,例如本类被实例化了多少次这种,并不是属于哪一个对象的属性,而是属于这个类的,所以我们用一个static静态成员变量就可以将这个变量在多个对象间传递,实现属于类的效果。但是,这静态成员函数?难不成类还需要个啥函数?百思不得其解,遂置之。知道今天在

2017-05-11 17:42:23 231

原创 C++ string 类 部分成员函数实现(实现COW copy-on-write+实现智能指针(有极大bug版本))

智能指针这个东西好坑爹啊。。。所谓的智能指针其实是一个类,我感觉我就是还没有理解他,还是先把作业过了再说,后面的以后再说。首先需要#include。得到存储的指针用get函数。重置指针用reset。更多的没用到。。。有时间了就去系统的学习一下(好吧我承认我C++primer没看那一章)。Mystring.h#pragma once#ifndef _MYSTRING_H_

2017-05-02 23:37:01 500

原创 C++ string 类 部分成员函数实现(实现COW copy-on-write)

虽然标题中说实现了·COW,但是事实上是很浪费的,并且命名也很不标准,代码也非常小学生,毕竟初学(给自己找借口.jpg),以后应该还会把这篇找出来认真修改一下的。Mystring.h:#pragma once#ifndef _MYSTRING_H_#define _MYSTRING_H_#include #include using namespace std;class My

2017-05-02 23:12:43 1162

原创 ACM日记_17.5.01——数位DP自整理(例题:HDU 2089 不要62)

脑子笨,学东西就是比较难受,看了很久才把一道基础的数位dp啃完,心酸致死。模板与原题代码出处均为:点击打开链接数位dp几个让人摸不着头脑(因为没有脑子)的点:时刻记得,动规其实就是带着脑子的枚举,所以我们要做的第一步肯定是枚举全部,其次,啥叫动点脑子呢,就是一些我们已经枚举过的完全相同的部分记录下来即可,这个都是对应的多种状态。dp[pos][sta]即当前为第几位(第零位为个位)

2017-05-01 16:32:09 229

原创 ACM日记_17.5.01——sort的用法

标准库函数sort使用的好可以省去很多事情。用之前不要忘记:#includesort有三个参数,前两个是待排序数组的起始与结束地址。第三个参数非常重要,传入一个compare函数的函数名即其地址。默认情况下,sort对数组内元素进行升序排列,那么我们可不可以对其进行降序排列呢,这时候就要用到compare啦。bool compare(int a,int b){ return ab

2017-05-01 16:05:19 215

原创 ACM日记_17.5.01——控制格式的输出就只会printf了?cout也可以!

其实标题里说的那种情况就是我啦,碰到固定几位小数,精确到多少多少的就一脸懵逼,投奔printf了。其实cout必然也是可以的,我们需要一个叫输入输出控制符的东西。全部的控制符参见:点击打开链接此处只给出一般常用的(我做ACM时自己用到的)几种:cout<<fixed<<setprecision(8)<<a;//保留八位小数cout<<setprecision(8)<<a;//共输出八

2017-05-01 15:49:19 253

原创 ACM_HDU 2033 人见人爱A+B

题目大意就是算时间的A+B,0v0。本题需要注意的地方:这种进位的问题,往往第一想法都是用一个新的变量来记录我进了几,事实上并不需要,直接往上加就好,至于输出的时候mod一个60就好了嘛,如题。#include int h1,m1,s1,h2,m2,s2; int main(){ int T; cin>>T; while( T-- )

2017-05-01 15:29:44 303

原创 ACM_HDU 2031 进制转换

原题链接就略啦。看日期就发现,我居然已经一个月,没有写acm了。。。我到底都忙啥了啊,不懂自己。。。(忙着打游戏了呗智障)本题需要注意的:1.需要提醒自己的是,有返回值的情况下一定要关注返回值的类型,别读个double返回个float。(突然想到的,本题无关)2.有正负!统一处理正的,输出时注意判断是负的先输出个负号!3.int abs(int) 处理整型数

2017-05-01 15:12:05 286

原创 ACM_HDU 2612 Find a way (宽搜)

首先必须指出,本篇中贴出的代码转自另一位博主的文章,因为自己写的代码是用数组模拟queue的操作,总觉得仿佛脱离了C++,就很难过。转自:http://blog.csdn.net/sr_19930829/article/details/18450509思路以及自己犯得一些错误:首先注意本题有多个目标地点,应对策略就是,从头宽搜到尾,再把我的目的地的步数比较一下就好。记录是否走过的visited数

2017-03-31 13:42:48 219

原创 POJ - 2386 Lake Counting(搜素)

题目链接:点击打开链接。分析:这道题目很早前就见过,当时觉得太简单也没有写,结果一交,居然,居然。。。WA。。。只有左,左下,下,右下,右,几个方向会导致WA,改成八个方向就可以,还没有想明白,嘤,想明白了再来补上。这题可以用最基本的思路嘛,就是找哪些是通路,并记录是否访问过,就是开一个visited[NN],记录相应节点信息。不过更好的做法是,此题目中只有两种类型的信息,直接找到一个

2017-03-30 20:22:30 255 1

原创 ACM日记_17.3.27——素数打表还不会?等等,先弄明白到底什么是打表!

说到素数咱们就不得不说说筛法打素数表啦。代码很经典也很易懂,就是排除。下面给出一种实现:void prime_table(){ is_Prime[1] = 1; for(int i = 2;i<sqrt(N);++i) { if(!is_Prime[i]) { for(int j = i*i;j<N;j+=i) { is_Prime[j] = 1;

2017-03-28 20:48:44 721

原创 ACM日记_17.3.27——偷懒的字符串处理一道

因为是从小伙伴那里拿来的题目,不知出处,只好归为日记下的一篇。这道题目很简单,代码也不是我敲的咳咳咳,但是字符串处理乍一看真是挺吓人,不过稍稍用点string类就瞬间简单许多,遂记之。题目:代码如下://3.26#include #include #include #in

2017-03-27 23:18:34 276

原创 ACM_HDU 1213 How Many Tables(基础并查集)

#include#define NN 1000int ranka[NN];using namespace std;struct node { int pre; }p[NN]; void Init(int n) { for(int i=1;i<=n;i++) { p[i].pre=i;

2017-03-26 21:30:50 288

原创 POJ - 2236 Wireless Network (并查集+自用模板v1.2)

转眼又是一万天没有写题惹,好愧疚,标题里打上自用模板,就是写好惹,自用的啦,不介意取走,也很欢迎修改,但是不接受人身伤害,哼唧,玻璃心。本题属于并查集中比较简单的。并查集的题目,需要搞明白的就是,什么是结点,哪些节点已在一个集内,什么条件下可以合并就可以了。题目链接:点击打开链接本题分析:每次修好的电脑是一个新的结点,遍历其余结点,若距离可以就join一波。

2017-03-26 11:53:56 471

原创 POJ - 1190 生日蛋糕(深搜+神奇的剪枝)

题目见:点击打开链接关于剪枝的一个小总结:剪枝分为可行性剪枝与最优化剪枝。可行性剪枝一般的思考过程就是,我一共需要多少,在最多的情况下也无法达到,或最少的情况下也会超过。那么至于最大与最小到底怎么取到,就本题而言,还有类似的每层递增的题目,可以考虑我从(1,1)开始每层加一,到现在的层数,面积和即为最小面积。而最大,就是把一个变量限制成最小,就可以取得另一个的最大,而对每一个“另一

2017-03-16 16:37:30 721

原创 ACM日记_17.3.14——神奇的0x3f3f3f3f

十六进制的0x7fffffff,对应的是32位中的int的max,把它作为INF在不做运算的时候是可行的,但是如果在使用前进行了加减之类的运算,很可能溢出为负值导致错误。常用的数字时0x3f3f3f3f,看了别的博文,这个数字确实巧妙哇!既满足无穷大加有限为无穷大,又满足无穷大加无穷大为无穷大!普遍的用法有:1.#define INF 0x3f3f3f3f直接做INF用。

2017-03-14 18:19:41 506

原创 ACM_HDU 1004 Let the Balloon Rise(还是水题做着开心)

Problem DescriptionContest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest

2017-03-14 18:07:52 320

原创 ACM日记_17.3.14——高精度算法

实数运算不外乎加减乘除,所谓高精度就是数据范围大到标准类型受不了233,这时候就用数组模拟小学生竖式运算就好啦!更详细的讲解与代码实现可以看:点击打开链接

2017-03-14 16:19:10 308

原创 ACM日记_17.3.14——快速幂取模

代码转载自:点击打开链接至于快速幂取模中的证明省略,主要就是用位运算的思想,有二分的效果。 #include using namespace std; //计算a^bmodn int modexp(int a,int b,int n) { int ret=1;

2017-03-14 16:05:17 340

原创 ACM_HDU 1060+1061 leftmost or rightmost digit(数论)

首先是最右位数(比较简单),可以参用数论快速幂两种方法。数论:影响最低位的只有每次的最后一位(即个位),而十内数字乘方都是有规律的,可以构成循环。那么最主要的问题就是找循环节啦,不难。故只列出找循环节部分,代码如下:b = a;loop[b]=true;//记录是否循环record[0]=b;//记录一个周期b=(b*a)%10;while(!loop[b]){

2017-03-14 15:21:05 193

原创 ACM日记_17.3.14——输入均为独立字母与数字时的处理

当遇到读入并判断与对应字母对应的字符时,非常常见并且易于想到的办法是开一个结构体数组,其实完全没必要。只需要像下面这样:char r(char ch) { if(isalpha(ch)) return rev[ch-'A']; return rev[ch-'0'+25]; //前26用来存英文字母 }那么如果是进行词(?)频统计的时候,只需要:for(in

2017-03-14 15:16:36 252

原创 ACM日记_17.3.14——*最大公约数*与*最小公倍数*

int gcd(int a,int b){ if(b==0)return a; return gcd(b,a%b);} cnt=a/gcd(a,b)*b;此处采用先除后乘是为了避免相乘结果过大导致的溢出。

2017-03-14 15:05:04 182

原创 POJ - 2387 Til the Cows Come Home (最短路)

题目链接-Til the Cows Come Home思路:一看就是dijkstra来着,但是还是出现了不少错误。1.memset函数使用时要包含头文件cstring2.menset函数按位替换,所以直接memset个max是不行的。3.//for(int k =1;(!collected[k])&&k<=N;k++) for(int k =1;k<=N;k

2017-03-11 13:33:30 249

原创 MOOC 拦截导弹(动规基础)

题目链接在此,拿需思路:基础动规题目,主要就是看出状态转移方程,然而,本水笔还是写不出动规程序,先写了个递归压压惊。感觉还是要拓展思路,总是想着dp[][]把自己往死里逼。。。不懂自己怎么回事。递归中出现的错误是,把max_num置为0了,至少为1。代码如下:#include int numbers[30][30]={0};int height[30] ={0};

2017-03-08 16:31:39 266

原创 MOOC 红与黑(深搜)

1:红与黑总时间限制: 1000ms 内存限制: 65536kB描述有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。W和H都不超过20。在接下来的H行中,

2017-03-08 00:49:45 591

原创 MOOC 简单的整数划分问题

简单的整数划分问题总时间限制: 100ms 内存限制: 65536kB描述将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。输入标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 输出对于每组测试数据,输出

2017-03-06 23:04:57 327

原创 UVa 401 - Palindromes

原题略,大意为判断输入字串是否为回文或镜像回文。自己的代码十分拖沓,见入门经典上的代码不禁先膜为敬,并录于此。注意:中间字符(特指奇数时)要考虑到,所以为(len +1)/2,注意+1。#include #include #include #include using namespace std;const char* rev = "A 3 HIL JM O

2017-03-03 00:10:02 157

原创 ACM_HDU 1000 A + B Problem

A + B ProblemTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 637967    Accepted Submission(s): 199204Problem DescriptionCalculate A

2017-01-26 20:11:45 208

原创 ACM_HDU 2055 An easy problem

An easy problemTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23061    Accepted Submission(s): 15215Problem Descriptionwe define f(

2017-01-26 20:09:39 226

原创 ACM_HDU 1020 Encoding

EncodingTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43406    Accepted Submission(s): 19169Problem DescriptionGiven a string cont

2017-01-26 20:04:36 200

原创 ACM_HDU 1032 The 3n + 1 problem

The 3n + 1 problemTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37073    Accepted Submission(s): 13519Problem DescriptionProblems

2017-01-26 19:57:01 238

原创 ACM_HDU 1005 Number Sequence

Number SequenceTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 63052    Accepted Submission(s): 14475Problem DescriptionA number s

2017-01-26 19:44:04 214

空空如也

空空如也

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

TA关注的人

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