自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (10)
  • 收藏
  • 关注

原创 +-*、()表达式转逆波兰

#include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef pair pii; const int maxn=10005; const int maxlen=12; char s[maxn][maxlen];

2016-09-19 22:54:27 563

原创 HDU5225 Tom and permutation(排列组合)

题意: Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个难题: 给出一个1-n的排列,求所有字典序比它小的1-n的排列的逆序对数之和。 Tom一时不知道该怎么做,所以他来找你帮他解决这个问题。 因为数可能很大,答案对109+7取模。 从前往后推,先计算1-k的所有排列可以产生逆序总数, 先假设db[2]为1-2的结果,那么我们来看3的排列,他是由1[2,3]

2015-05-10 08:54:16 1170

原创 NPY and shot(三分)

直接三分求解。 #include #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define clr(a,x) mems

2015-03-14 15:56:01 972

原创 HDU1043:Eight HDU3567:Eight II(康拓展开+bfs搜索)

HDU1043:Eight这个题还算好过,用我刚整理的康拓展开的模板直接就ok的,需要注意的是对于这种终态唯一的题目,一般用终态来反搜初态,就是一边bfs记录下所有答案,如此如此,看下AC 程序的主函数就能理解的。 代码: #include #include #include #include #include #include #include #include #include #def

2015-03-07 00:46:28 960

原创 最大网络最小流

const int maxn=805; const int maxm=2000005; int first[maxn],dis[maxn],vis[maxn],pre[maxn]; int u[maxm],v[maxm],w[maxm],cost[maxm],flow[maxm],nex[maxm]; int n,m,vcnt,ecnt,vcnt1,vcnt2; void add_(int a,i

2015-02-15 14:46:30 641

原创 HDU 5171 GTY's birthday gift (矩阵快速幂)

GTY's birthday gift Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 408    Accepted Submission(s): 154 Problem Description FFZ'

2015-02-14 11:05:02 570

原创 CentOS安装后常见的一些应做工作(恢复引导。ntfs支持,)

记录双系统CentOS安装后所做的一些工作。以下工作需要root权限 1.电脑上原本有win7,我又装上了CentOS7,电脑启动就进入CentOS7,找不到win7引导。 注意正常安装情况win7引导并没有被覆盖,只是不能被识别而已。 解决办法(前提:win7装在sda1上面,一般来说win7都是在sda1上的): 在终端输入 vi /etc/grub2.cfg 在“###END

2015-01-03 20:04:39 1039

原创 codeforces Good Bye 2014题解(A、B、C)

codeforces Good Bye 2014(A、B、C) A. New Year Transportation time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output So, user tncks0121 has made a transportation system to move between these cells, to celebr

2014-12-31 09:43:12 1802

原创 UVA 796 - Critical Links (求桥按序输出)

tanjar求图中的桥,然后排序输出。 代码: #include #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #def

2014-12-28 14:12:10 923

原创 poj 3694 Network(桥+lca)

给定一个无向无环图,保证连通,求每加入一条给定的边图中还剩下多少桥。 双联通缩点重新建图后,再用lca在线算法解。 lca算法参考斌神http://www.cnblogs.com/kuangbin/p/3184884.html 这个版本的lca思路大致是先topsort,再用并查集分别从查询的两点向根节点回溯,直到两个点碰撞。效率我分析不出来,但看得出效率很高,每次查询都对后面查询做

2014-12-28 11:34:18 859

原创 数据结构实验总览及相关代码

实验1链表的插入和删除 【实验目的】 1、 了解单链表、循环链表和双链表的基本知识; 2、 掌握算法思想和数据结构的描述; 3、 掌握链表的插入、删除的相关语句及基本方法。 【实验步骤与要求】 1、 实验前的准备 (1) 了解C语言的基本概念; (2) 了解C语言的基本段落。 2、 上机操作 (1) 了解链表的基本知识; (2) 掌握算法思想和数据结构的描述; (3) 掌握

2014-12-24 09:09:14 1219

原创 康拓展开与逆康拓展开原理及实现

1.康托展开的解释 康托展开就是一种特殊的哈希函数   把一个整数X展开成如下形式:   X=a[n]*n!+a[n-1]*(n-1)!+...+a[2]*2!+a[1]*1!   其中,a为整数,并且0   {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231 312 321 。

2014-12-23 23:49:52 1358

转载 图的割点、桥与双连通分支(知识点)

图的割点、桥与双连通分支 转自https://www.byvoid.com/blog/biconnect [点连通度与边连通度] 在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。 类似的,如果有一个边集合,删除这个边集合以后,原图变成多个

2014-12-23 12:35:33 656

原创 非齐次方程组代码(C++)

/* 先输入未知数个数。 然后输入n*(n+1)的行列式。 */ #include #include int hanglieshi(int a[],int n) { int j,s; if(n==1) s=a[0]; else { for(s=0,j=0; j<n; j++) { int yuzishi(

2014-12-22 22:21:45 2170

原创 POJ3177 Redundant Paths (双联通缩点)

求对于给定一个连通图,加多少条边可以变成边双连通图。 一个有桥的连通图要变成边双连通图的话,把双连通子图收缩为一个点,形成一颗树。需要加的边为(leaf+1)/2 (leaf为叶子结点个数)。 对于此题,有重边但重边不加入计算。 重边的话,要么在开始去掉,要么用桥来计算入度。 因为桥不属于任何一个边双连通分支,其余的边和每个顶点都属于且只属于一个边双连通分支。对于重边而言,只有一对

2014-12-22 20:06:05 797

原创 hdu4612(双联通缩点+求树的直径)

求在给定图中添加一条边最多能是多少条桥消失。 双联通缩点,成为一棵树,然后求树的直径。 此图中两点之间可能会有重边,也按双联通,而不能按桥处理。其他的就没什么特别的 代码: #pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include

2014-12-22 16:52:54 744

原创 poj1804(归并排序求逆序数)

逆序数,也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。 我们移动元素的次数转化为,假如对每个数da[i]来说前面比他大的数的数目为c[i]的话,那么移动元素总次数就应该是c[0]+c[1]+……+

2014-12-22 12:46:43 1662

原创 poj2299(离散化+树状数组求逆序)

数据范围比较大,先用离散化将数据映射到可控的范围,然后应用树状数组求逆序求解。 总共有N个数,如何判断第i+1个数到最后一个数之间有多少个数小于第i个数呢?不妨假设有一个区间 [1,N],只需要判断区间[i+1,N]之间有多少个数小于第i个数。如果我们把总区间初始化为0,然后把第i个数之前出现过的数都在相应的区间把它的值定为1,那么问题就转换成了[i+1,N]值的总和。再仔细想一下,区间

2014-12-21 16:28:21 721

原创 HDU4685 Prince and Princess 完美匹配+强连通

题意:现在有n个王子,m个公主。现在要给他们配对,王子会和他喜欢的一个人结婚,而公主不能做选择。 这题啃得好费劲,有个类似的题目poj1904,那个题目也是给王子与公主配对,但那个是王子公主各n个,且给定了一个完美匹配,然后求每个王子可以做出的选择且不影响最大匹配数目。那题是先建各条喜欢关系的边,然后在由被选择的公主连一条边到与之配对的王子,强连通之后如果一个王子和一个公主在一个强连通分量中,那

2014-12-18 23:26:15 1089

原创 HDU4738 Caocao's Bridges(桥)

http://acm.hdu.edu.cn/showproblem.php?pid=4738 题意:给定一张无向图,求其中权值最小的一座桥,派最少的士兵去炸掉它!! 思路:直接用tarjan计算出桥并且取其中权值最小者。 此题坑点甚多,1、有可能桥本来就不联通,输出-1。2、桥最小者为0,输出1(至少排一个人去炸桥)。3、不要去重边,两个岛之间允许有多座桥,tarjan忽略返回边只忽略一次,

2014-12-16 20:44:16 1691

原创 POJ-3207-Ikki's Story IV - Panda's Trick(2-sat模板)

2-sat模板提。 代码: #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define clr(a,x) memset

2014-12-02 13:54:36 747

原创 ZOJ Problem Set - 3795(缩点拓补)

题意:每条信息说明了两个一定不在一个集合里的人,求最少情况集合可以划分为多少子集。 一看就是拓补树的最高层数,但题意中隐含了可能有环(>=关系偏序),所以要先缩点,再拓补。当然,缩点之后图中没有环,直接dfs记忆化也是ok的。 代码: #include #include #include #include #include #include #include #include #define

2014-12-02 12:49:00 753

原创 poj1184 聪明的打字员(双向搜索)

双向搜索,同时从起点和终点开始搜索,当if(mark[s.sta][s.site][s.fl] == -1)时就代表从两端的搜索范围开始出现交叉点,即得到最小值。 代码: #include #include #include #include #include #include #include #include #include using namespace std;

2014-11-30 16:02:42 1239

原创 HDU1560:DNA sequence(IDA*)

求一DNA串包含所有给定字串。ida*剪枝,预测函数为个匹配串为匹配部分最大长度。 代码: #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--)

2014-11-30 15:43:51 607

原创 poj 1190(dfs剪枝)

先初始化算出n层蛋糕所需的最小体积,用其剪枝,可以大大提升速度。 代码: #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define c

2014-11-30 15:36:35 633

原创 POJ 3687 Labeling Balls(逆向拓扑)

正向每次取最小并不能保证为最优解,反向建边每次取最大可得正解。 代码: #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #

2014-11-30 15:21:13 720

原创 POJ 1236 Network Of Schools (强连通分量模板题)

代码: #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define clr(a,x) memset(a,x,sizeof

2014-11-30 15:11:06 819

原创 poj 2728 Desert King最小比例生成树

问题可以转化为:给定一个rate,z(rate)=∑xi×ci-rate*∑xi×disi,xi为一棵生成树使(∑xi×ci-rate*∑xi×disi)的值最小(下面会介绍求此生成树的方 法),则rate=(∑xi×ci-z(rate))/( ∑xi×disi),令rateNex=(∑xi×ci)/( ∑xi×disi)。 求解生成树xi使(∑xi×ci-rate*∑xi×disi)

2014-11-30 15:08:57 782

原创 poj 3635(搜索)

我刚开始用dp做,超时了,看了别人博客重写ac的。 个人觉得此题更偏向搜索,dp数组只是记录最佳状态的标记。 #include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int

2014-11-30 14:31:05 676

原创 最短路及次短路

#include #include #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define clr(a,x) memset(a,x,sizeof a) #

2014-11-30 14:20:17 743

原创 Codeforces Round #277.5 (Div. 2)-D

题意:求该死的菱形数目。直接枚举两端的点,平均意义每个点连接20条边,用邻接表暴力计算中间节点数目,那么中间节点任选两个与两端可组成的菱形数目有r*(r-1)/2. 代码: #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i

2014-11-18 12:34:27 1085

原创 Codeforces Round #277.5 (Div. 2)-A

分析:这题很像Codefoces 432 C. Prime Swaps(水),我就直接处理数据

2014-11-18 11:55:30 584

原创 Codeforces Round #277.5 (Div. 2)-B

一看就是贪心,想了个策略,

2014-11-18 11:50:32 602

原创 Codeforces Round #277.5 (Div. 2)-C

简单细节题: #include #include #include #include #include #include #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rev(i,a,b) for(int i=(a);i>=(b);i--) #define clr(a,x) memset(a,x,sizeof a) typedef lon

2014-11-18 11:47:43 847

原创 Codefoces 432 C. Prime Swaps(水)

思路:从前往后想将1调整好,在调整2。。。。这样平均每次有五次机会调整,而且有相当一部分可能都用不到五次,可以一试。ac 代码: #include #include #include #include #include #include #include using namespace std; const int maxn=600005; const int maxm=100005; in

2014-11-17 22:21:22 924

原创 ZOJ3622 Magic Number(水题)

分析: 举个例子xxx(三位数)为魔力数,则xxx|(xxx+1000*y),那么xxx|1000,这个就是结论 同理:四位数xxxx|10000,五位数xxxxx|100000 代码: #include #include #include #include #include #include #include typedef long long LL; using namespace s

2014-11-17 08:40:52 807

原创 POJ 1012 Joseph(打表题)

题意:约瑟夫环的变形,要求寻找到一个杀人循环节m使后半节的坏人先被全部杀光。 直接链表模拟出结果,再打表就行; 代码:(注释的是打表码) #include #include #include #include #include #include #include #include using namespace std; /* int l[30],r[30]; int main() {

2014-11-10 12:22:09 948

原创 HDU 1143 Tri Tiling(递推)

题意:现有一些1*2的小方块,求拼成3*n的矩形有多少种拼法。 思路: 既然是递推式,肯定要遇上一层发生关系。仔细观察,发现每一层应该设为2层,(奇数层不可能是矩形)而从上一次拼好的图形中的最后一层可以发现,只有两种结果(对称的也先算一种)。 即:。结果二可以==上一层的结果一和结果二两种结果(很明显,不多说,用笔画一下便知)。结果一可以==2*(上一层的结果一和结果二)以及结果一。为什么呢

2014-11-10 09:23:24 989

原创 202 - Repeating Decimals

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=830&problem=138&mosmsg=Submission+received+with+ID+14498728

2014-11-09 11:13:39 653

原创 信息安全数学基础课程-相关计算题代码

广义欧几里得(列表法):

2014-11-05 13:48:27 1032

微积分程序(c++)

大一类设计,微积分程序,虚函数,继承派生,虚基类……算是我个人觉得写的条理最好的一个小程序了,欢迎报错。请联系本人

2014-08-27

简易计算器程序(VC++)大一编写

简易计算器程序,本人大一时用vc++编写。/计算器CString/Debug/as.exe为生成的可执行文件,先运行下看是否是你需要的(程序中没加log,放心使用)。欢迎报错,请联系csdn,u014569598

2014-08-27

杭电ACM课件(精品)

杭电acm课件,数论,动态规划,博弈,并查集,探索,贪心,涵盖了入门必需的基本元素,强力推荐

2014-04-12

时钟程序(vc++)

大一vc++时钟程序,mfc界面,虚拟时钟与数字时钟切换,自动对时,手动对时, 欢迎报错

2014-08-27

实验4and5(c++)

资料存档,关于运算符重载的c++代码,实验课题目,存了

2014-04-23

nwerc-2013标程+数据

2013西北欧区域赛,标程+数据,你值得拥有

2014-08-27

算法竞赛入门经典(小白)标程

算法竞赛入门经典(新版小白)标程,刷小白的辅助工具,AC了看标程是否有更好的写法,WA的也学习一下

2014-08-27

c语言课件详细版(计算机学院课件)(编程入门)

c语言新手自学课件,入门级,涵盖所有基础知识点,适用于自学c的同学,也可以辅助正在学c的同学打牢基础

2014-04-12

vc++课件(计算机编程入门)

vc++课件,入门级,如果学过c的话掌握语法大约要一个月(一般人,据说大神只用3天),想熟练掌握的话请同志们多敲代码吧

2014-04-12

空空如也

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

TA关注的人

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