自定义博客皮肤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#includeusing 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 443

原创 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 1050

原创 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 847

原创 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 872

原创 最大网络最小流

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 542

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

GTY's birthday giftTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 408    Accepted Submission(s): 154Problem DescriptionFFZ'

2015-02-14 11:05:02 490

原创 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 948

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

codeforces Good Bye 2014(A、B、C)A. New Year Transportationtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSo, user tncks0121 has made a transportation system to move between these cells, to celebr

2014-12-31 09:43:12 1461

原创 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 825

原创 poj 3694 Network(桥+lca)

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

2014-12-28 11:34:18 779

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

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

2014-12-24 09:09:14 1089

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

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 1213

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

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

2014-12-23 12:35:33 551

原创 非齐次方程组代码(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 1986

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

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

2014-12-22 20:06:05 705

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

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

2014-12-22 16:52:54 632

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

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

2014-12-22 12:46:43 1493

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

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

2014-12-21 16:28:21 626

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

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

2014-12-18 23:26:15 976

原创 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 1582

原创 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 638

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

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

2014-12-02 12:49:00 677

原创 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 1140

原创 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 511

原创 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 549

原创 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 630

原创 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 725

原创 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 687

原创 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 584

原创 最短路及次短路

#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 578

原创 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 976

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

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

2014-11-18 11:55:30 510

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

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

2014-11-18 11:50:32 527

原创 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 772

原创 Codefoces 432 C. Prime Swaps(水)

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

2014-11-17 22:21:22 799

原创 ZOJ3622 Magic Number(水题)

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

2014-11-17 08:40:52 727

原创 POJ 1012 Joseph(打表题)

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

2014-11-10 12:22:09 862

原创 HDU 1143 Tri Tiling(递推)

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

2014-11-10 09:23:24 882

原创 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 588

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

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

2014-11-05 13:48:27 933

时钟程序(vc++)

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

2014-08-27

微积分程序(c++)

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

2014-08-27

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

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

2014-08-27

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

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

2014-08-27

nwerc-2013标程+数据

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

2014-08-27

实验4and5(c++)

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

2014-04-23

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

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

2014-04-12

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

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

2014-04-12

杭电ACM课件(精品)

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

2014-04-12

空空如也

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

TA关注的人

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