自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codeforces Round#503(div 2)

D、The hat题意:有2n个学生围成一圈坐着,相邻的两个学生拿到的数字相差1或者-1,让你通过询问,得到那两个学生手里的数字相等。分析: E、Sergey's problem题意:给一颗有向树,选出一些顶点集合,使得所有的点在两步之内可达,且两个相邻的点最多选择一个。分析:一开始我一直在考虑是不是要从入度为0的节点开始,但是遇到复杂的图时,例如环。或者这个图都是一个环,...

2018-09-01 18:38:49 149

原创 关于卡特兰数的一点感悟

关于卡特兰数,有两种理解第一种:可以理解为从任意一个地方卡一条线,两边的结果相乘。第二种:有两种数字0,1,各有n个,进行排列,对任意前k个数字中,要求0的个数大于等于1的个数。之前有一道面试题,说有2n个人排队,要求排成两排,每排从左到右身高依次增高,前后的两个人,后面的人比前面的高。问有多少种排列方式?之前的想法一直是从2n中选n个放一排,剩下的放一排,但这有个问题,没法保证后...

2018-08-31 23:10:29 225

转载 github

配置密钥:  https://segmentfault.com/q/1010000003061640Git教程:  https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2017-11-06 15:41:36 214

转载 随机采样方法

随机采样方法整理与讲解(MCMC、Gibbs Sampling等)时间 2015-02-01 21:46:00 博客园-原创精华区原文  http://www.cnblogs.com/xbinworld/p/4266146.html 主题 吉布斯抽样 本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅。其实参考资料中的资料写的比

2016-03-24 18:29:15 479

转载 python,os操作文件,文件路径

python获取文件上一级目录:取文件所在目录的上一级目录os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir))os.path.pardir是父目录,os.path.abspath是绝对路径举例具体看一下输出:    printos.path.dirname(os.pa

2015-04-23 18:45:30 974

原创 oj2.0 判题流程

判题流程图如下:说明:内核文件是可以单独运行、测试的。只需要将core_hq.py 与L0-runner-master中的文件配齐,在core_hq文件最后 if__name__='__main__' 中写入程序代码,测试。

2014-12-04 09:31:15 1172

原创 python入门学习

在linux下一般都安装了python,只需在终端中输入 python 即可,

2014-07-29 15:27:14 380

原创 git的安装及简单应用

https://github.com/cugbacm/oj/wiki/Git%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E7%AE%80%E5%8D%95%E6%93%8D%E4%BD%9C

2014-07-29 15:02:26 359

原创 Linux基础学习

Ubuntu 系统默认 root用户是不能登录的,密码也是空的。如果要使用 root用户登录,必须先为 root用户设置密码。打开终端,输入:sudo passwd root然后按回车此时会提示你输入密码,在 password:后输入你现在登录的用户的密码然后系统提示你输入新的 UNIX密码Enter new UNIXpassword: 这里输入你想为 ro

2014-07-20 01:19:11 283

原创 扩展gcd 模板加解析

补充: 扩展欧几里德算法是用来在已知a, b求解一组x,y使得a*x+b*y=Gcd(a,b)(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。下面是一个使用C++的实现:  int exGcd(int a, int b, int &x, int &y)  {  if(b == 0)  {  x = 1;  y = 0;   return a;  }  in

2013-10-10 22:15:24 544

原创 poj 1200(字符串哈希)

一开始直接开了map,不知道要用字符串哈希。  果断TLE,   其实一共nc个字符,让每个字符对应一个0-nc的数字,则不同的长度为n的字串哈希值也不同,就是以nc为进制,不同的以数字0-nc的长度为n的数字组合唯一。#include#include#include#include#include#includeusing namespace std;char s[2700

2013-10-07 21:32:08 408

原创 2013 国庆第一场(The 2011 Rocky Mountain Regional Contest)

题目:hdu4161-4170Iterated Difference:绝对暴力,可是比赛时写出代码,wa了三次,因为中间输出忘了注释,这写代码功底是差到家了,很少能一气呵成,不出错误。还是思路不够清晰明了。#include#include#include#include#include#includeusing namespace std;int a[50];int

2013-10-02 22:10:54 408

原创 整数划分模板

整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式:       n=m1+m2+...+mi; (其中mi为正整数,并且1        如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)       例如但n=4时,他有5个划分,{4},{3,1},{2,2},{2

2013-09-21 15:02:30 555

原创 uva 437 (dag 最长路)

题意:给出n个长方形,每个长方形都有无数多个,问怎么排列能使高度最高,最高的高度是多少? 长方形三条边的任意一条都能作为高,所以一个长方形可产生三种长方形。然后直接用dag最长路。#include#include#include#include#include#includeusing namespace std;#define inf 111111111i

2013-09-21 11:09:11 648

原创 hdu 4001 (动态规划)

题意:给n个长方形,共有3种类型。 类型为1的长方形必须放在其长宽都大于等于另一长方形的上面,类型为2的长方形必须放在其长宽都大于等于且面积小于另一长方形的上面,类型为3的长方形必须放在其长宽都大于另一长方形的上面。 放置关系只与长宽和类型有关,排序很关键,排序完成后,应该有一个长方形不可能放到排在它后面的长方形上面。     然后用两层for,记忆话搜索即可。#include#inclu

2013-09-21 11:04:46 503

原创 最长回文串模板 (Manacher's算法)o(n)复杂度

//最长回文子串#include#include#include#include#include#includeusing namespace std;#define N 1100000char s[N],str[N];//str:原串 s:处理后的串int p[N];int len;void init() //初始化,生成s{ len=strlen(str

2013-09-18 21:45:18 503

原创 最长公共子序列模板

#include#include#include#include#include#include#includeusing namespace std;char s1[1000];char s2[1000];int dp[1100][1100];int p[1100][1100];int len1,len2;void solve(){

2013-09-15 16:57:07 376

原创 两道简单“几何”

一:题目大意:一个圆上给定n点的角度(与x正半轴的夹角0-360),n个点能组成n*(n-1)*(n-2)/6个三角形,问这些三角形中锐角三角形的个数是多少?解题思路:反向考虑钝角和直角三角形的个数,三个点比位于一条经过半径的直线一侧(包括直线)。    直角三角形的斜边必然是一条直径。#include#include#include#include#include#in

2013-09-13 21:28:02 394

原创 13/9/5 组队赛

E:Coffin Tiles就是找一个数的因数,打表即可,可是竟然忘记了用freopen,不晓得打表结果放哪,哎。。#include#include#include#include#include#includeusing namespace std;#define mod 1000005int a[mod];int b[1000]={0,1,4,12,24,36,60,

2013-09-05 20:34:18 502

原创 Regionals 2011, Asia (KMP,字符串哈希)

题目大意:就是求满足第一个串的后k位 与 第二个串的前k位 相同的k的个数BKDR Hash Function字符串哈希做法:#include#include#include#includeusing namespace std;unsigned long long p=31; //p还可取131,1313,13131.。。unsigned long long

2013-09-04 14:20:06 350

原创 Asia Regional 2011(最短路)

标准的的求最短路问题:bfs直接过#include#include#include#include#include#include#include#includeusing namespace std;vectorv[1100];int step[1100];int vis[1100];double dis[1100][1100];double l,r;int

2013-09-04 11:35:48 374

原创 Regionals 2011, Asia (二分图匹配)

二分图也做过些,可是这题在比赛时竟然没有看出来,就是标准的二分图匹配啊。反思反思题目大意:有n户人家,m所别墅,给出各户的人口数,每所别墅所能容纳的人数(每种别墅无限种),现在要求两家合租一户别墅,当且仅当这两家人数之和等于别墅所能容纳的人数,问最多有多少种组合方式。6 41 2 3 4 4 5 //每户人家的数目6 9 3 5 //每栋别墅所能容纳的人数最多组合三种,

2013-09-04 11:29:20 410

原创 13/8/31 cugb 组队赛 (模拟)

题目大意:给一个数字串,输出一个图形,为了使图形看起来平滑,每一列‘+’之差不超过1。我们的模拟神10分钟就看题,上交代码一气呵成。而我看完之后光想就想了10分钟,可见模拟功力之差呀。首先行数比较好确定,就是一串数字之中的最大值,列数通过遍历数字串就可以了,若两个相邻数字a,b之差大于等于2,则必然就要a+1....b-1,使之变平缓,记录每一个列数的数字,输出时一行一行输出,如果

2013-09-03 20:31:07 388

原创 codeforces #198(div2)

怎么说呢,好不容易说半夜做,结果做了一题,碰到一道简单几何做不下去了,下面是后来参考别人的思路完成的。参考网址:http://www.cnblogs.com/Lyush/p/3294422.htmlA:太水不多说。B:题目大意:就是给出n个点,保证不会出现三个点在同一直线上的情况,让你从中选四个点,使形成的四边形面积最大。解题思路:枚举一条对角线,分别枚举左边和右边的点,使左边

2013-09-03 20:12:11 477

原创 hdu 4632 回文DP

题目大意:给定一个字符串,让你求这个字符串中有多少个回文子序列     如:abab  中a,b,a,b,aa,bb,aba,bab,一共8个回文子序列。既然是DP的问题,当然还是找状态转移方程吧,本题的状态转移方程是:如果s[i]!=s[j]dp[i][j]=(dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1])%mod    //注意因为公式中有减号存在,可能出现

2013-09-01 21:16:17 379

原创 hdu 4487 概率DP

只要求出状态转移方程题目就简单了;dp[i][j][k] 表示走i步到j位置最右边位置是k     所以很轻易就知道k>=j;s:不走概率 l向左走概率  r向右走概率如果k==j;dp[i][j][k]=dp[i-1][j][k]*s+dp[i-1][j-1][k-1]*r+dp[i-1][j-1][k]*r;如果k!=j;dp[i][j][k]=dp[i-1][j][k

2013-09-01 15:08:10 364

原创 数据结构模板

BFS求树的直径:vector v[110000];int vis[110000];int step[110000];int T,n,q,a,b,m;int u;int Mstep;//求树的直径void bfs(int x){ Mstep=-1;u=-1; memset(vis,0,sizeof(vis)); memset(step,

2013-09-01 13:56:18 314

原创 我犯的低级错误

2013/8/30今天做了一道之前做过的多校原题,竟然WA了两次,上次还是一A,看来我是没有真正明白其中缘由:下面解释一下这个错误是如何造成的:  for(int k=1;;k++) { if((i-f[k]<0)&&(i-f1[k]<0)) break; if(i-f[k]>=0)

2013-08-30 21:19:33 348

原创 hdu 4666 最远曼哈顿

一般这也太难想到了,这道题完全根据09年武森写的一篇《《浅谈信息学竞赛中的“0”和“1”——二进制思想在信息学竞赛中的应用》》一文中的一个例子写的。以后得学着看论文喽~考察multiset的使用做完这道题可以再看一下poj2926#include#include#include#include#include#include#includeusing n

2013-08-29 15:39:29 382

原创 8 27 组队赛 Greater New York 2012

题目来源 hdu4484 --  4492hdu4484   最水的一道,直接一直找到1为止#include#include#include#include#include#includeusing namespace std;int a[11000];int main(){ int N; int n; scanf("%d"

2013-08-29 13:47:13 417

原创 codeforces #197(div2)

A:就是将1、2、3、排序后后,中间依次加上'+'#include#include#include#include#include#includeusing namespace std;char s[110];char ss[110];int main(){ cin>>s; int len=strlen(s); int c1

2013-08-28 22:43:26 379

原创 卡特兰数

百度百科:http://baike.baidu.com/view/2499752.htm#refIndex_2_2499752卡特兰数百科名片  卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。目录简介原理应用括号化出栈次序凸多边形三

2013-08-24 22:20:09 531

原创 poj 2478 欧拉函数

欧拉函数基础之基础题 #include#include#include#include#include#include#includeusing namespace std;#define Max 1000005int p[Max];int ph[Max]; //记录《=i的且与i互质的个数void prime() //筛选法求素数{

2013-08-23 22:39:27 341

原创 poj 1942 组合数问题

本题很简单,但处理方法也很特殊,用double来存中间结果,神!同样的公式,不同的处理方法,效果不同。 如:选择n时一定选小的,节约时间。 处理阶乘有三种办法:(1)       传统意义上的直接递归,n的规模最多到20+,太小了,在本题不适用,而且非常慢(2)       稍快一点的算法,就是利用log()化乘为加,n的规模虽然扩展到1000+,但是由于要用三重循环,一旦n规

2013-08-23 21:52:58 531

转载 map 的使用

C++ map的基本操作和使用   来源:(http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html) - C++ map的基本操作和使用_Live_新浪博客     Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本

2013-08-23 16:51:07 332

转载 set 的应用

一直觉得编程中没有用到set的地方,今天碰到一道,傻眼了,学习一下吧 1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。 创建 multiset base; 删除:如果删

2013-08-23 16:34:19 392

原创 hdu 3874 树状数组

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3874这里用到了离线算法,先将询问排序,然后用树状树组进行操作,如果一个价值没有出现过,则将其位置加上相应价值,如果出现过,则在当前位置加上该价值,而在已经出现过该价值的位置删除该价值,相当于一个移位操作,保证相同价值总出现在最后,从而保证了算法的正确性,最后用树状数组进行求和。 #in

2013-08-22 22:28:32 414

原创 poj 2481 树状数组

一开始根本没想到是树状数组,因为有两个端点需要处理,后来经提醒,排序后只剩下一个端点,接下来树状数组就ok了。注意:题目中下标从0开始,所以输入后都要加1,以满足树状数组下标从1开始的性质。排序后一个一个处理,前面的比后面强壮,或区间相同,处理时排除区间相同的即可。#include#include#include#include#include#include#

2013-08-22 20:34:48 370

原创 2013多校 第10场

hdu 4704题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704一条公式搞定,知道了很快AC,不知道就苦逼了,我是不知道的,呵呵,慢慢积累。 所以只需将输入的字符串转化为10^9+6内的数即可,然后快速幂求 另一条公式: #include#include#include#include

2013-08-22 19:08:40 457

原创 poj 1195 二维树状数组

裸的二维树状数组模板题求和公式注意了。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n;int c[1111][1111];int a[1111][1111]

2013-08-22 14:32:47 406

空空如也

空空如也

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

TA关注的人

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