自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦醒了

折柳为笔..月光为笺..画下你月华般的容颜.. 烟染三月..提诗两行..刻下我如梦般的臆想..

  • 博客(136)
  • 收藏
  • 关注

原创 JAVA

日期计算:public class Main {public static void main(String[] args){ String s1="1970 1 1"; String s2="1970 1 3";//计算日期时间差值,调用函数参数类型不一样*/System.out.println("第一种方法转换为:"+Between_day(s1,s2));/*SimpleD

2016-05-11 22:32:30 378

原创 常用函数

快速幂typedef long long ll;const int mod=1000000+30;ll pow(int n,int p){ ll ans=1; while(p>0) { if(p&1) ans=(ans*n)%mod; p>>=2; n=(n*n)%mod; } return ans

2016-04-16 15:13:10 720

原创 codeforce 1091

题目连接:http://codeforces.com/contest/1091A:#include <bits/stdc++.h>using namespace std;int main() { int y, b, r; cin >> y >> b >> r; cout << min(y, min(b - 1, r -...

2018-12-31 12:58:01 353

原创 jdk_1.8.sh

# jdk_1.8.sh```# !/bin/shellapt-cache search java|grep jdk #can #apt-get install openjdk-8-jdk  #number represent varservar=/etc/profileecho "export JAVA_HOME=/usr/lib/jvm/java-1.8

2017-11-03 11:07:11 489

原创 链式前向星

引言对于某一个图,我们存储它的方式有很多种,其中常用的有1、邻接矩阵(建图简单,使用简单,但是遍历图时间复杂度太大)2、邻接表(建图较复杂,对于特殊的米字图时间复杂度太大)3、优化的邻接表,在我前面一片文章里有介绍,就是为每一个节点保存一个LAST数组(最后的点编号),可以极大提高建图速度http://blog.csdn.net/cnyali/art

2017-10-02 15:51:39 480

原创 关联容器(set & multiset & Map& multimap)

http://blog.csdn.net/xerxessimon/article/details/54598318

2017-10-02 15:28:48 347

原创 bitset

引言位是用来保存一组项或者条件的yes/no(1或者0)信息的一种简洁方法,那么位集就是二进制位的有序集。C++中标准库提供的bitset类在我们程序中就很有效的简化了对于位集的处理。基本操作bitset b;            //b有n位,每位都为0bitset b(u);             //b是unsigned long型u的一个副本

2017-10-02 15:25:58 305

原创 pair

引言pair是一种模版类型,相当于一个键值对基本用法pair p(5,6);pair p= make_pair(5,6);cout<<p.first<<p.second;

2017-10-02 15:24:04 328

原创 字符串(string)

引言string类是用于字符串相关操作的一个类。基本用法begin 得到指向字符串开头的Iteratorend 得到指向字符串结尾的Iteratorrbegin 得到指向反向字符串开头的Iteratorrend 得到指向反向字符串结尾的Iteratorsize 得到字符串的大小length 和size函数功能相同max_size 字符串可

2017-10-02 15:19:50 218

原创 顺序性容器(vector&list&deque)

引言(1)vector向量相当于一个数组   在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存

2017-10-01 17:30:52 328

原创 优先队列(priority_queue)

引言在优先队列中,元素被赋予优先级,当访问元素时,具有最高级优先级的元素先被访问。即优先队列具有最高级先出的行为特征。基本操作#include //优先队列在头文件q.empty( )  //判断一个队列是否为空q.pop( )  //删除队顶元素q.push( )  //加入一个元素q.size( )  //返回优先队列中拥有的元素个数q

2017-10-01 16:06:06 346

原创 队列(queue)

引言队列是一种常用的数据结构,队列中的元素先进先出,只允许对队头和队尾操作基本操作头文件:#include创建一个队列:queu q入队:q.push(x)出队:q.pop()访问队首元素:q.front()访问队尾元素:q.back()访问队列中的元素个数:q.empty()为空则返回真:q.empty()实战#

2017-10-01 15:14:30 315

原创 栈(stack)

引言栈是一种常用的数据结构,栈中的元素是先进后出,栈只有一个出口,只允许对栈顶进行操作。基本用法头文件:#include创建一个栈:stack s压栈:s.push(x)出栈:s.pop()返回栈顶元素:s.top()返回栈中元素数目:s.size()堆栈为空则返回真:s.empty()实战#include#includeusing na

2017-10-01 14:43:21 281

转载 linux下添加用户并赋予root权限

1、添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser tommy//添加一个名为tommy的用户#passwd tommy   //修改密码Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密

2017-07-19 17:09:36 399

转载 linux修改Ubuntu的aptget源

http://blog.csdn.net/u011148119/article/details/503383551、复制原文件备份sudo cp /etc/apt/source.list /etc/apt/source.list.bak2、编辑源列表文件sudo vim /etc/apt/source.list3、将原来的列表删除,添加如下内容网易源:

2017-07-18 12:36:17 465

原创 插头dp

插头DP小结?因为独立插头还有最小表示法没有打过,独立插头没看懂,广义路径连看都没看过,所以这些不再本文的总结范围内。去年学插头DP的时候还是很惧怕的,也只做了一题,还是按着课件对着标程打的。还好今年终于懂得原理了。其实打多了也变成模板了(当然每题的转移不一样)。插头DP有下面的分类:按模型:多回路问题、单回路问题、简单路径问题、广义路径问题按表示方法:是否有插头、括号法(

2017-05-24 16:48:38 729

原创 用1×2骨牌覆盖n×m棋盘,有多少种方法

传送门1:UVA 11270 Tiling Dominoes#includeusing namespace std;const int maxn=1<<12;long long dp[2][maxn];int cur,n,m;void add(int a,int b){ if(b&(1<<m)) dp[cur][b^(1<<m)]+=dp[cur^1][

2017-04-25 19:04:14 3323

原创 求解一个矩阵的逆矩阵

c++#includeusing namespace std;const int N=20;const double E=1e-10;double calculate_A(double src[N][N], int n ){ int i,j,k,x,y; double tmp[N][N], t; double result = 0.0; if(n ==

2017-04-12 14:46:32 3225

原创 最近&最远点对

HDU 1589 Stars Couple(计算几何求二维平面的最近点对和最远点对)最远点对相当于求凸包中最远的两个点(先求凸包,然后n*n枚举)最近点对 二分#include#include#include#includeusing namespace std;const int M=50005;typedef struct Point{doubl

2017-04-06 17:36:25 894

原创 概率/期望

http://blog.csdn.net/u014427196/article/details/46425645http://www.ifrog.net/acm/problem/1055题意:一个盒子一开始有n个球,每个球标号唯一,先执行操作1,如果两个球x,y满足|x-y|不在盒子里,那么久把|x-y|放进去,设操作次数为p1,然后执行操作2,不断摸球,直到所有球都被摸过,设

2017-03-29 10:38:27 378

原创 数位dp

讲解:http://blog.csdn.net/niuox/article/details/9864199https://www.bnuoj.com/v3/problem_show.php?pid=52325#includeusing namespace std;typedef long long ll;//位数 数字 关系ll f[20][10][5],sum[20],g[

2017-03-29 10:26:20 912

原创 最佳淘汰算法

4272: 最佳淘汰算法Time Limit: 12 Sec  Memory Limit: 128 MBSubmit: 412  Solved: 64DescriptionLyf在做操作系统作业的时候,遇到了一题要他实现下Opt算法(全称页面置换最佳淘汰算法)。可是Lyf发现最近好忙啊,于是他想请他的学弟,学妹们帮他来完成。作业里的内容是这样的:提出最佳页面淘汰算法

2017-03-29 08:57:33 5574

转载 在N个乱序数字中查找第k大的数字

若随机选取枢纽,线性期望时间O(N)#includeusing namespace std;const int N=1005;int a[N];int qs(int l,int r){ int x=a[l]; while(l<r) { while(l=x) r--; a[l]=a[r]; while(l<r&&a

2017-03-10 22:26:45 811

原创 二叉树

根据后序和中序遍历输出先序遍历   (25分)本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数NNN(≤30\le 30≤30),是树中结点的个数。随后两行,每行给出NNN个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder

2017-03-08 18:48:52 377

原创 并查集

并查集模板int finds(int x){ return fa[x]==x?x:fa[x]=finds(fa[x]);}bool bing(int x,int y){ int fx=finds(x); int fy=finds(y); if(fx==fy) return 0; fa[fy]=fx; return 1;}经典

2017-03-03 23:15:28 386

原创 set 和 multiset

set的各成员函数列表如下:c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器c++ stl容器set成员函数:clear()--清除所有元素c++ stl容器set成员函数:count()--返回某个值元素的个数c++ stl容器set成员函数:empty()--如果集合为空,返回truec++ stl容器set成员函数:end

2017-01-18 09:16:37 487

转载 NYOJ 191 && POJ 1012 Joseph(约瑟夫环问题)

链接:click here~~题意:假设有2k个人围着一个圆桌坐着,前k个是好人,后k个是坏人 。现在开始,每m个人踢掉一个,比如有6个人,m=5,那么,被踢掉的人依次是5,4,6,2,3,1。现在要求,在踢掉第一个好人前,必需把所有的坏人踢掉,问,给定一个k,求满足这个要求的最小的m,现在希望你写一个程序,快速的帮助小珂,计算出来这个m。思路:我们来回想一下最基本的约瑟夫环问题,

2017-01-18 08:43:59 615

原创 树的构建

传送门:http://acm.nyist.net/JudgeOnline/problem.php?pid=1278#includeusing namespace std;struct node{ node *l,*r; int data,num;};int a[55][20];node *root,*q;node *node_t(int x,int num){

2017-01-17 15:48:27 282

原创 容器(vector)

在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=vec.begin();it

2017-01-17 08:34:26 452

原创 树( Be Friends)

https://www.bnuoj.com/v3/contest_show.phpcid=8506#problem/B#includeusing namespace std;typedef long long ll;const int N=100010,M=N*32;int n,a[N],q[N],son[M][2],tot;ll ans;void ins(int p){ fo

2016-11-06 14:33:57 345

转载 OpenJudge_P3531 判断整除(DP)

总时间限制: 1000ms 内存限制: 65536kB 描述 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) + (+4) = 7 (+1) + (+2) + (-4) = -1 (+1) + (-2) + (+4) = 3 (+1) + (-2) + (-4) = -5 (-1) +

2016-08-26 09:28:54 1468

原创 子序列(LIS、LCS)

LISint lis(int n) { memset(dp,0,sizeof(dp)); int ans=0; for (int i=0;i<n;i++) { for (int j=0;j<i;j++) if(b[j]<=b[i]) dp[i]=max(dp[i],dp[j]+1);

2016-08-24 19:04:58 370

转载 ACM必学知识点清单

训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程能力提高之后,主要时间是花在思考算法上,不是花在写程序与debug上。下面给个计划你练练: 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来。 1.最短路(Floyd、Dij

2016-08-24 09:05:54 1032

原创 测试

int lis(){ int len=0; for(int i=0;i<n;i++) { int k=lower_bound(f,f+len,a[i])-f;//upper_bound(); f[k]=a[i]; if(k==len) len++; } return len;}

2016-08-15 09:51:07 269

原创 C++(STL)

C++  STL1.sort2.vector3.set4.map5.queue6.priority_queue7.next+permutation//sort(str.begin(),str.end());8.stack9.pair10.list读取数据:freopen("位

2016-08-15 09:15:56 300

原创 Max Sum

Max Sumhttp://acm.hdu.edu.cn/showproblem.php?pid=1003#includeusing namespace std;const int N=1e5+7;const int inf=0x8fffffff;int main(){ int i,j,k,m,n,t,tt=0; cin>>t; while(t--)

2016-08-13 11:04:02 248

原创 数字间的转换(进制转换、小数化分数)

a进制转十进制const int p=16;//p代表 a进制 string s; int a() { int n=0,fal=1; for(int i=0;i<s.size();i++) { if(s[i]=='-') fal=-1; else if(s[i]>'9') n=n*p+s[i

2016-08-13 10:39:52 979

原创 素数判断(朴素、高效)

朴素判定bool prime(int x){ int y=sqrt(x); for(int i=2;i<=y;i++) if(x%i==0) return 0; return x==1?0:1;}高效判定bool prime(int x){ if(x==2||x==3) return 1; if(x%6!=1&&x%6!=5)

2016-08-13 10:31:24 535

原创 最大二分匹配(匈牙利算法)

http://poj.org/problem?id=1469类似网络流的思想,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法#include#include#includeusing namespace std;const int N=300+7;const int M=100+7;int mp[M][N],f[N];bool used[N];

2016-08-12 16:08:56 512

原创 网络流(最大流、最小费用最大流、有上下界的网络流)

最大流的算法:Ford-Fulkerson算法 求最大流的过程,就是不断找到一条源到汇 的路径,然后构建残余网络,再在残余网络 上寻找新的路径,使总流量增加,然后形成 新的残余网络,再寻找新路径…..直到某个 残余网络上找不到从源到汇的路径为止,最 大流就算出来了。  每次寻找新流量并构造新残余网络的过程, 就叫做寻找流量的“增广路径”,也叫“增 广” 现在假设每条边的容量

2016-08-09 11:09:28 5112 2

空空如也

空空如也

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

TA关注的人

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