- 博客(13)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 2015年多校联合训练第四场(Problem Killer)hdu5328
题意: 求最大等差或等比数列的长度 思路: 开始用二分,WA暴了,后来发现我用的等差数列公式有问题 (a[i]+a[j])*(j-i+1)/2,等差数列一定满足这个公式,但满足这个公式的不一定是等差数列,我sb了。。。。。 还有就算等比数列a[i+1]/a[i] == a[i]/a[i-1],也是sb了,这个会引起精度丢失,应该a[i]^2 = a[i-1]*a[i+1]; ……. 正
2015-07-31 21:03:42 753
原创 2015年多校联合训练第四场(Olympiad)hdu5327
题意:找区间美丽数(自身有不同数字组成的数,如123是,100不是)的个数 思路:打表#include <bits/stdc++.h>#define LL long longusing namespace std;int a[1001005];int n;int f[100005];int sum[100005];int flag[10];void init(){ for(
2015-07-31 20:53:36 888
原创 2015多校联合训练第三场Painter(hdu5319)
要注意的地方就是并不是n*n的矩阵,列要单独求 dfs一下#include <bits/stdc++.h>#define LL long longusing namespace std;const int MAXN = 1e6;int n,m;char mp[60][60];int ans;void dfs_R(int x , int y){ if(x >= 0 && x <
2015-07-31 14:53:48 807
原创 2015多校联合训练第三场Work(hdu5326)
题意: a是b的上司,b是c的上司,则a是c的上司,问构成一个树种,有多人是 k个人的上司 思路: 先找出root,然后dfs一下就行#include <bits/stdc++.h>#define LL long longusing namespace std;const int MAXN = 1e6;int f[105];int n, k;int mp[101][101];in
2015-07-31 13:46:27 691
原创 2015年多校联合训练第三场RGCDQ(hdu5317)
题意: f(i)代表i数中有的素数的种数,给出区间[l,r],求区间内max(gcd(f(i))), 由于i最大是1e6,2*3*5*7*11*13*17>1e6,故最多不超过7种素数, 先打表打出1e6内的素数种数表,然后用sum[i][j]代表1-i个数中,还有j个素数的个数,最后用sum[r][j] - sum[l-1][j]求出区间内含有j个素数的数的个数,暴力找出1,2,3,4,5,
2015-07-31 13:42:37 937
原创 2015多校联合训练第一场Tricks Device(hdu5294)
题意:给一个无向图,给起点s,终点t,求最少拆掉几条边使得s到不了t,最多拆几条边使得s能到t 思路: 先跑一边最短路,记录最短路中最短的边数,总边数-最短边数就是第二个答案 第一个答案就是在最短路里面求最小割,也就是求最大流,然后根据最短路在建个新图,权为1,跑一边网络流模板题,以后就用这套模板了#include <iostream>#include <cstdio>#include <
2015-07-29 21:58:28 859
原创 最大子矩阵和问题归纳总结
一,最大子矩阵问题: 给定一个n*n(0< n <=100)的矩阵,请找到此矩阵的一个子矩阵,并且此子矩阵的各个元素的和最大,输出这个最大的值。 Example: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其中左上角的子矩阵: 9 2 -4 1 -1 8 此子矩阵的值为9+2+(-4)+1+(-
2015-07-25 17:21:43 8611
原创 2015多校联合训练第一场Assignment(hdu5289)三种解法
题目大意:给出一个数列,问其中存在多少连续子序列,子序列的最大值-最小值#include <iostream>#include <cstdio>#include <algorithm>#include <string>#include <cmath>using namespace std;int maxsum[100000][30];int minsum[100000][30];int
2015-07-24 22:32:02 1360
原创 2015年多校联合训练第一场OO’s Sequence(hdu5288)
题意:给定一个长度为n的序列,规定f(l,r)是对于l,r范围内的某个数字a[i],都不能找到一个对应的j使得a[i]%a[j]=0,那么l,r内有多少个i,f(l,r)就是几。问所有f(l,r)的总和是多少。 公式中给出的区间,也就是所有存在的区间。思路:直接枚举每一个数字,对于这个数字,如果这个数字是合法的i,那么向左能扩展的最大长度是多少,向右能扩展的最大长度是多少,那么i为合法的情况就是左
2015-07-24 21:51:59 856
原创 霍夫曼编码/译码器
赫夫曼树的应用 1、哈夫曼编码 在数据通信中,需要将传送的文字转换成二进制的字符串,用0,1码的不同排列来表示字符。例如,需传送的报文为“AFTER DATA EAR ARE ART AREA”,这里用到的字符集为“A,E,R,T,F,D”,各字母出现的次数为{8,4,5,3,1,1}。现要求为这些字母设计编码。要区别6个字母,最简单的二进制编码方式是等长编码,固定采用3位二进制,可分别用0
2015-07-09 18:07:46 4056
原创 Linux下git学习笔记(一)
我是跟着廖雪峰大神的博客学习git的,他讲的非常容易懂 (http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000),然后自己跟着学的时候并不是很顺利,向github提交代码的时候老是报错,不过最后google很久之后给解决了。 先回顾下今天学的吧一:在Linux上安装Gitsudo ap
2015-07-08 21:15:47 1002
原创 C++重要知识点拾忆
一:内联函数 函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记忆执行的地址,转回后先要恢复现场,并按原来保存地址继续执行。 因此,函数调用要有一定的时间和空间方面的开销,于是将影响其效率。特别是对于一些函数体代码不是很大,但又频繁地被调用的
2015-07-06 17:01:23 1159
原创 Linux下新手如何将VIM配置成C++编程环境(可以STL自动补全)
弄拉老半天,终于弄的差不多啦,果然程序员还是需要有点折腾精神啊。1:vim的简单c++配置(语法高亮,缩进。。) 在home目录下新.vimrc文件,.文件都是不可见的,要按ctrl + h显示 然后配置.vimrc,下面是我的配置"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
2015-07-02 14:20:04 15751 6
如何做app的PC端?求大神指教啊。急急急!
2014-07-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人