自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白学病患者的专栏

失败并不可怕,可怕的是你还相信这句话。

  • 博客(32)
  • 资源 (5)
  • 收藏
  • 关注

原创 hdu 5311 Hidden String

字符串中是否存在三个连续的区间,由其组成anniversary。解法:暴力枚举前两个区间长度。竟然还有strncmp这个函数。这样的话写起来就简洁方便多了。#include#include#include#includeusing namespace std;typedef __int64 LL;char s0[20]="anniversary",s[105

2015-07-26 18:30:38 384

原创 codeforces 445E - DZY Loves Colors

n个结点,每个结点有一个颜色和一个权值,初始颜色依次为1-n,权值初始均为0.现在有两种操作:1、将区间[L,R]内的所有结点染色为c,每个结点的权值增加量为原来的颜色和当前颜色之差的绝对值。2、求区间[L,R]的结点权值和。分析:对于第二种操作,显然是线段树的基本操作之一:区间求和。对于第一种操作,可以用一个标记数组col来表示区间的颜色情况。若col为0,则表示

2015-07-26 12:03:05 602

原创 codeforces 445 A、B、C、D

A题:题意:一个棋盘,由'.'和'-'构成,'-'表示坏格,'.'处可以放置'B'或者'W'两种棋子,求一种方案使得'.'都被棋子填满,且'B'和'W'不能共边。解法:按对角线摆放就好了。#includeusing namespace std;typedef long long LL;char M[105][105];int main(){ int i,n,m

2015-07-25 22:11:00 731

原创 sdut 3257 Cube Number

求乘积为立方数的数对个数。(不考虑数对中数的相对顺序)先筛掉每个原数中的立方因子得到新数,对于每一个新数,若存在平方因子,则需要找该平方因子为1的对应的数与其匹配;若不存在平方因子(即只含单个因子),则找含有两个该单因子的数与其匹配。注意,找到的匹配的数可能会超过1e^6,此时需要特判,并且用long long来存储,否则会RE。具体代码实现的时候,使用一个变量tem,

2015-07-25 11:48:56 655

原创 sdut 3258 Square Number

给出一个序列,求其中乘积是平方数的数对个数。解法:将每个数的平方因子筛掉,得到新数,然后排序,统计相同的个数num,结果累加num*(num-1)./2就好了。#include#include#include#includeusing namespace std;int p[1000],cnt=0,a[100005];bool judge(int x){

2015-07-25 09:30:00 348

原创 sdut 3262 Circle of Friends (SCC缩点)

题目大意:n个人,从0开始编号,m个关系:表示前者认识后者,若前者认识后者,则前者可以向后者请求帮忙,若后者不认识前者,则前者需要请后者吃顿饭,否则不用。现在编号为0的人要向编号为n-1的人请求帮忙,问至少要请吃多少顿饭?若不能像第n-1个人请求帮忙,输出-1(某人只会向其认识的人请求帮忙,若A认识B,B认识C,则A也可以通过B向C请求帮忙。能够互相请求帮忙的可以缩成一个点,然后DFS

2015-07-25 09:14:26 633

原创 hdu 5303 Delicious Apples (DP+枚举)

题目大意:一个圈,上面有苹果树,每棵苹果树上面有若干苹果。给出圈的总长,以及每个苹果树的位置和上面的苹果数量,现在有一个最多可以装K个苹果的篮子,从位置0开始出发采摘苹果,问最少需要走多少距离,可以把所有苹果都运回起点0。分析:1、如果不是一个圈,而是一条线段,那么直接DP就好了。2、将圈平分为左右两部分,如果在左边或者右边能够装满k个,按原路返回显然是最优的。3、若在某一

2015-07-24 22:28:27 589

原创 CodeForces 490C Hacking Cypher

给一个数字串,和两个整数a,b。问能否将该串分成两部分,其前后两部分分别被这两个整数整除。解法:根据同余定理,从前往后扫一遍数字串,可以得到各个前缀模a的余数A[i]。再从后往前扫一遍,可以得到各个后缀模b的余数B[i]。然后再扫一遍每一个位置i,看是否有A[i]=B[i+1]=0。注意,由于不能有前缀0且拆分后得到的数必须大于0,因此在判定A[i]=B[i+1]=0的时候

2015-07-24 11:32:02 432

转载 Edmonds-karp算法详解

最近大三学生让我去讲课,我就恶补了最大流算法,笔者认为最重要的是让学弟学妹们入门,知道算法怎么来的?为什么是这样?理解的话提出自己的改进,然后再看看Dinic、SAP和ISAP算法…..一、概念引入      首先要先清楚最大流的含义,就是说从源点到经过的所有路径的最终到达汇点的所有流量和。      流网络G=(V,E)是一个有向图,其中每条边(u,v)∈E均有一个非负容量c(u,v

2015-07-23 08:55:27 8498

原创 hdu 5288 OO’s Sequence

题目大意:定义f (L,R)表示下标i在区间内且除了a[i]本身,区间内的其他数都不能整除a[i],这样的数的个数。现在给出n,和a[1]~a[n],求∑i=1n∑j=inf(i,j) mod (109+7).考虑第i个数对结果的贡献:区间[L,R],对于位于其中i的数a[i],如果存在a[i]的因子也在[L,R]内,则数a[i]在该区间内对结果的贡献为0,否则,对结果的贡

2015-07-21 20:32:30 643

原创 hdu 5285 wyh2000 and pupil

和hdu 4751类似。判断是否是二分图就好了,同时统计一下两组的人数,要使第一组的人数尽可能大,每次染色的时候取较大值相加即可。坑点:1、n2、m=0的情况#include#include#include#include#includeusing namespace std;vectorG[100005];int color[100005]

2015-07-18 22:40:52 411

转载 sql server中的锁

NOLOCK(不加锁)  此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。  HOLDLOCK(保持锁)   此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。  UP

2015-07-17 08:23:37 299

原创 hdu 4751 Divide Groups (二分图判断)

给出n个人,以及相互之间的关系。问能否分成两组,使得组内的人两两都互相认识。对于不相互认识的两个人之间连一条边,表示该两人不能分在同一组,然后判断是不是二分图就好了。#include#include#include#include#includeusing namespace std;bool Map[105][105],r[105][105];int n,c

2015-07-16 18:32:59 566

转载 powerbuilder日期函数

PB系统函数 之 日期时间函数Day()——————————————————————————-功能得到日期型数据中的号数(1到31之间的整数值)。语法Day ( date )参数date:要得到号数的日期值返回值 Integer。函数执行成功时返回号数(1到31之间的整数值)。如果date参数的值为NULL,则Day()函数返回NULL。————————————————————

2015-07-15 17:22:20 4692

原创 powerbuilder 备份和恢复数据库

备份:string backupSTRING pathstring if GetFilesaveName("选择文件",pathstring,backup,"bak","bak文件(*.bak),*.bak") = 1 then if pathstring = '' then messagebox("提示","请输入备份数据库名称!") return end if

2015-07-15 17:20:47 1039

原创 powerbuilder导出数据到Excel表

string str_savename,namedint excelok,li_netoleobject excelserverexcelserver=create oleobject excelok=excelserver.connecttonewobject("excel.application") //检查返回值,以确保已成功地连接到了Excelif excelok <> 0

2015-07-15 17:17:47 2503

转载 SQL server 触发器的建立

一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表。    一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被

2015-07-11 10:40:14 554

原创 poj 2584 T-Shirt Gumbo(最大匹配 )

题目大意:n个人,5种型号的T恤,给出每个人能够穿的T恤范围,以及5种T恤的数量,问能否使得每个人都能够穿上T恤。明显的匹配问题。建图:X集合为n个人,Y集合为T恤。若第i个人能够穿第j件T恤,则两者连一条边,问题转化为求最大匹配,看最大匹配数是否等于n。#include#include#include#include#includeusing names

2015-07-09 20:21:53 613

原创 poj 2724 Purifying Machine (最小边覆盖)

题意具体说什么没怎么看。大致是说,m个n位的二进制数,有的含有*(一个数最多含1个),含*的可以用0或者1代替,即含*的同时表示两个二进制数。现在可以用任意的n位二进制数去覆盖这m个二进制数,如果存在两个二进制数,只有一位对应位上的数字不同,那么可以用一个二进制数去覆盖这两个。问最少使用多少个二进制数可以覆盖所有的这m个二进制数。覆盖的过程可以看做匹配的过程。由此想到用图论来解决此

2015-07-08 20:07:58 426

原创 poj 3692 Kindergarten (最大独立集)

题意:G个女孩,B个男孩。女孩互相都认识,男孩也互相都认识。部分女孩和男孩互相认识。问最多有多少人两两都认识。分析:如果把互相认识的人之间连一条边,得到一个图G。对于图G的逆图G',发现是一个二分图。其中的边表示两人不认识。那么问题就转化为求最多有多少个点,任意两点之间不相邻(认识),即最大独立集问题。最大独立集=顶点数-最大匹配数#include#i

2015-07-06 19:54:01 309

原创 hdu 3861 The King's problem(SCC缩点+最小路径覆盖)

题目大意:给出一个n个顶点、m条边的有向图。要求将其划分为最小的区域。要求:1、对于两个点,若互相可达,则属于一个区域。2、对于某1个点,只能属于特定的一个区域,不能同时属于两个不同的区域。3、若顶点u可达v,则u与v可以属于一个区域。分析:由条件1:一个SCC属于一个区域。因此进行SCC缩点,缩点后得到一个DAG图。考虑条件3:对于得到的DAG图,如果从u->v有一条路径,则

2015-07-05 22:28:36 448

原创 poj 3020 Antenna Placement (最小边覆盖)

题目具体讲什么没怎么看,本质就是说给一个n*m的图,里面有*和o,现在让你用1*2或2*1的矩阵覆盖图中的*,求最少需要多少个。建图:对于相邻的两个*,连一条边,然后将一个*,拆做两个,分别属于X、Y集合,得到一个二分图。对于该二分图,边即代表用来覆盖的矩阵,问题转化为用最少的边覆盖所有的点。对于已经匹配的点,用匹配的边去覆盖就好了。剩下的点个数=顶点总数-最大匹配数*2.各自需要一个

2015-07-05 19:29:25 440

原创 poj 1325 Machine Schedule (最小点覆盖)

题目大意:两个机器A、B有各种工作模式0,1,2,……。初始都处于0模式。每切换一次模式需要重启一次机器。现在给你k个任务,给出它们分别在A、B中工作的模式,让你合理安排使得重启机器次数最少,完成所有任务。输出最少次数即可。建图:对于一个任务,要么在A中以x模式工作,要么在B中以y模式工作。于是可以将所有机器视为一条边,改边的两个点x、y分属于两个不同的集合,由此得到一个二分图。机器执

2015-07-05 16:17:08 347

原创 hdu 4685 Prince and Princess(完美匹配+SCC缩点)

题目大意:n个王子与m个公主进行匹配,要求给出每个王子可以匹配的公主列表,列表中的公主应当满足:与该王子匹配后,最大匹配数目能够保持不变。分析:此题是poj 1904的加强版。虽然题意有所不同,但仍然可以参考那题的建图方式。首先,需要搞清楚:为什么可以利用完美匹配来建图,或者说为什么这样建图是正确的?设王子Xi与公主Yi匹配,王子Xj与公主Yj匹配,同时Xi还喜欢Yj,问题的关

2015-07-05 07:52:49 545

原创 poj 1904 King's Quest (SCC缩点)

题目大意:n个王子,每个王子有若干个喜欢的女人。给一个初始完美匹配,让你求另一个表:每个王子的所有可结婚对象,即王子和其某一个可结婚对象匹配后,保证其他王子仍然能够和自己喜欢的某个女人结婚。建图:王子u喜欢女人v,则u到v连一条边。对于给出的初始完美匹配,王子u与女人v匹配,则v到u连一条边。然后求SCC。显然对于同一个SCC中王子数目和女人数目是相等的,并且从某个王子出发能够到达

2015-07-04 10:22:42 394

原创 uva 3126 出租车 (最小路径覆盖)

给出m个客人的行程。问最少需要的出租车数量。模型:最小路径覆盖:用最少的路径覆盖所有点(客人)建图:如果接完上一个客人u能够来得及接下一个客人v,则u到v连一条有向边,由此得到一个DAG图。然后将每个客人拆为两个点X、Y,如果X1->X2有边,则X1->Y2连一条边,以此得到一个二分图,然后求最大匹配。性质:最小路径覆盖数=原图顶点数-二分图最大匹配。(二分图中每有一个

2015-07-03 20:58:48 358

原创 LA 3415 Guardian of Decency (最大独立集)

题目大意:选择尽可能多的学生,两两之间满足四个条件中至少1个:(1)身高差大于40cm (2)性别相同 (3) 最喜欢的音乐属于不同类型 (4)最喜欢的体育比赛相同建图:将每个学生拆成两个点。当两个学生之间四个条件都不满足的话,连一条边。如此可构成二分图。为什么?注意到条件2,有边的两点必然性别不同,性别相同的一定不会有边。这样可以将点分成两个集合,每个集合中的点和点不会有边。问题转化为:

2015-07-03 16:02:30 375

原创 Uva 11419 SAM I AM (最小点覆盖)

n*m的网络上放了一些目标,要求用最少的炮弹打掉。炮弹沿水平或垂直方向飞行,可以一次打掉该水平或垂直方向上所有目标。建图:可以发现,对于一个目标的坐标(x,y),只要x有炮弹,或者y有炮弹就可以被打掉。那么,将每一行看做一个节点,每一列看做一个节点,对于每一个目标(x,y),将行x与列y连一条边,则问题转化为最小点覆盖问题。利用匈牙利算法求出最大匹配根据König定

2015-07-03 11:41:41 544

原创 LA 3989 Ladies'Choice(稳定婚姻问题)

问题:n个男生与n个女生进行配对,每个人恰好一个舞伴。若不存在:男u和女v没有配对,而他们喜欢对方的程度大于各自当前的舞伴程度。Gale-Shapley算法步骤:1、每个尚未匹配的男生在他还没有邀请的女生中选一个自己最喜欢的。2、若被邀请的女生没有舞伴,则接受邀请;若已经有了舞伴,比较当前舞伴与该男生排名,若当前舞伴排名较低,则抛弃之,接受当前邀请,反之拒绝邀请。3、若该轮

2015-07-03 09:30:49 651

原创 Python学习笔记(11):类的继承

已经定义了Person类:class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender定义Student类时,只需要把额外的属性加上,例如score:class Student(Person):

2015-07-02 15:14:30 400

原创 uvalive 2238 Fixed Partition Memory Management (KM)

这题建图很巧妙。首先要读懂题意:m(m同一个程序运行在不同大小的内存区域内,其运行时间不同。(注意,这里说的大小是指整个内存区域大小,而不是说:该程序之前有程序运行,占用了一部分内存,剩下的那部分内存大小。。。。。。。)输入:m和n,然后是m个数表示内存区域大小。再是n行,每行第1个数为情况总数k(k如果内存块总大小s不足s1,则无法在该内存块运行该程序;当si=sk时

2015-07-02 12:47:08 1059

原创 LA 4043 Ants (最佳完美匹配)

题目大意:给出n个蚁群与n个苹果树坐标(任意三点不共线),问能否使得每一个蚁群对应一个苹果树,且蚁群到苹果树的路线不相交。分析:容易想到完美匹配模型。然后考虑路线相交的问题。对于四个定点,构成的两条不共点的线段。若相交线段长度之和一定大于不相交的长度之和。对于每条边的权值,另其等于两点的距离。那么问题转化为求最佳匹配(权值最小)。注意套用KM算法时,可以让权值变为负值,这样问题

2015-07-01 14:44:37 843

计算机网络课设-邮件客户端实现(含源码、报告)

开发平台:VC6.0 MFC 开发语言:C++ 内容:包含源程序和源代码以及相关报告。

2017-02-21

网络编程大作业(邮件客户端实现,含源码)

网络编程大作业(邮件客户端实现,含源码)

2017-02-21

计组课设(基于FPGA的CPU设计)

含数据通路图、状态转换图、相关文档、verilog源码以及测试代码

2015-09-08

用MFC开发的扫雷游戏程序(含源码)

仿制windows自带的扫雷程序。

2015-09-08

MFC开发的多功能高精度计算器(含源码

【版本说明】 1、增加运算符填写功能 2、增加进制转换功能(500位数有效) 3、增加数据统计功能 4、增加运算精度调节(仅针对除法和圆周率的计算) 5、增加单位转换功能 6、增加输入结果按钮,可将上一次运算结果作为数值输入 7、增加线性方程组求解功能 8、优化求圆周率的算法,可精确到9000位以上 9、修正了之前版本的一些bug 10、美化界面 【版权说明】 未经编写人员许可,任何单位及个人不得以任何方式或理由对该产品进行复制、修改、抄录、传播或与其它产品捆绑使用、销售。

2015-09-07

空空如也

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

TA关注的人

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