自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC_Dreameng

有限的青春,无限的代码!

原创 网站收藏

https://contest.net9.org/

2017-04-22 16:10:26 462

原创 ACM博客收藏

树状数组各大经典博客初学整合:http://blog.csdn.net/qq_34374664/article/details/52787481关于背包的几个博文推荐:http://blog.csdn.net/zwj1452267376/article/details/48034103POJ 1852 Ants(弹性碰撞问题):http://blog.csdn.net/zw

2016-10-11 18:09:38 886 2

原创 常用OJ

HDU oj :http://acm.split.hdu.edu.cn/题目分类:http://acm.split.hdu.edu.cn/typeclass.phpPOJ : http://poj.org/HUST Virtual Judge : http://acm.hust.edu.cn/vjudge/indexPOJ 百练 : http://baili

2016-09-02 15:09:34 2095

原创 ACM常用算法分类

数据结构       栈,队列,链表       •哈希表,哈希数组       •堆,优先队列              双端队列              可并堆              左偏堆       •二叉查找树              Treap              伸展树       •并查集              集合

2016-09-02 14:41:54 3459 4

原创 MFC计算机图形学(3)

之前我们已经可以画出直线和曲线了。但是算法虽容易理解,但是复杂度高,今天就介绍比较流行的DDA画线法,还有,对鼠标进行事件有所响应,即,在画板上,鼠标左键单击,移动至另外一个地方松开,此时在这两个点之间画一条线。DDA画线算法代码void DDA_Line(int x1, int y1, int x2, int y2, int color){ CDC *pDC = GetDC();//获取

2017-09-22 14:44:00 1039

原创 MFC计算机图形学(2)

这里呢,先把上一讲的联系讲一下。 一般人都用是一个一个的去画,但是那样好麻烦,计算机的有点就是容易处理重复的事情,那就定义成一个画正方形函数吧,每次调用就可以了。怎么自定义函数呢? 我们先在上次我们建的项目CDemoView那儿右击,选择Add Menber Function 然后我们添加函数返回值及函数描述就可以了。 如图: 点击确定,我们就到了函数定义地方,编写函数就可以了 编

2017-09-18 17:43:23 1148

原创 MFC计算机图形学(1)

这学期上了计算机图形学,用MFC来绘制简单的图形。下面就简单介绍一下用cv++来绘制图形.VC++ 安装VC++我基本不用的,平时写C/C++的代码都用Code::Blocks. VC++基本都是绿色版,下载解压就可以用了,但是在中国,你知道的,下载安装的时候注意一点。(你知道的) 下载解压完,打开\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV

2017-09-18 16:36:49 3076

原创 Python 发送QQ邮件

参考连接:https://zhuanlan.zhihu.com/p/25718394#coding:utf-8from email.mime.text import MIMETextfrom email.header import Headerfrom smtplib import SMTP_SSL#sender_qq为发件人的qq号码sender_qq = '1720513491

2017-09-03 23:13:03 1054

原创 HDU 3549 Flow Problem【最大流入门题】【Ford-Fulkerson算法】【Dinic算法】【ISAP算法】

最大流入门题:最大流问题在刘汝佳的《算法竞赛入门经典》和《算法竞赛入门经典训练指南》中均有纤细介绍。竞赛中通常可以使用Dinic算法和ISAP算法,但是Ford-Fulkerson算法理解起来简单一点。最大流问题吧算法代码当做模板,根据具体问题去建图就可以了。

2017-08-17 14:13:39 951

原创 【2017多校】HDU 6106 Classes 【集合计算】

题意:n个班每个班的学生报名ABC三种课程,求n个班中人数最多的班级。每个班级一次给出报了A,B,C,AB,AC,BC,ABC,的人数注:数据有可能是假的,假的数据直接忽略掉,保证一定有一个真的数据做法:1只报AB的人数 == 报了AB的人数 -- 报了ABC的人数只报了A的人数 == 报了A的人数 -- 只报AB的人数 -- 只报AC的人数 -- 报了ABC的人数这样就可以求出每个类的人数。

2017-08-15 15:18:06 365

原创 【2017百度之星】HDU 6114 Chess 【组合数取模,Lucas定理】

题意:分析一下,就是C(n,m),(n>m) ,利用组合数的递推关系或者用Lucas定理即可得到答案。当然也可以用记忆话搜索。

2017-08-15 12:46:25 636

原创 HDU 6108 小C的倍数问题【2017"百度之星"】【数论】

(1),(2)两个条件同时满足的话 就必须要满足p%B==1,即(p-1)%B==0,即求出p-1因子的个数即可

2017-08-14 16:05:10 643

原创 HDU 6113 度度熊的01世界【2017"百度之星"】【简单搜索判断联通块】

题目不是很难,注意特殊数据,如‘顶到天’的数据,这样的话在外面加一圈0就可以了,剩下的写个搜索判断一下联通块的数量就可以了,‘1’联通块的数量等于1且‘0’的联通快的数量为2,则为0‘1’联通快的数量等于1且‘0’的联通块的数量为1,则为1否则为-1

2017-08-14 15:51:43 855 1

原创 HDU 6112 今夕何夕【2017"百度之星"】【日期模拟计算】【基姆拉尔森计算公式】【蔡勒公式】

题意简单,但是日期类题目计算有点麻烦。。。。1.直接模拟。题目中说‘今天’是2017年8月6日,星期日,我们要寻找下一个8月6日也是星期日的年份。这里要分三种情况进行讨论。1.1 若开始日期在在3月以后(包含3月,无论今年是平年还是闰年),则到下一年今天则会经过365天,星期数会向后推一天(365%7=1)1.2 若开始日期在2月29日,则到下一个2月29日至少要过4年。1.3 如开始日期在2月29日之前:1.3.1 若今年为闰年,则到明年今日要经过366天,否则为365天。

2017-08-14 15:39:23 1099

原创 POJ 2635 The Embarrassed Cryptographer【数论,千进制,高精度求模+同余模定理】

给定一个大数K,K是两个大素数的乘积的值。再给定一个int内的数L问这两个大素数中最小的一个是否小于L,如果小于则输出这个素数。解题思路:首先对题目的插图表示无语。。。 高精度求模+同余模定理 1、 Char格式读入K。把K转成千进制Kt,同时变为int型。把数字往大进制转换能够加快运算效率。若用十进制则耗费很多时间,会TLE。千进制的性质与十进制相似。例如,把K=1234567890转成千进制,就变成了:Kt=[ 1][234][567][890]。为了方便处理,我的程序是按“

2017-08-11 13:59:48 632

原创 【2017多校第二场】HDU 6075 Questionnaire【思维】

题意:每个人选择一个正整数,队长选择两个数m,k,对于每个人选择的数,如果对m取余,结果为k,则得到一个‘yes’,否则得到‘No’,如果最后‘Yes’的数量大于等于‘No’,则队长将得到更多的训练机会问,队长如何选择m,k一个数对m取余,结果为[0,m-1],所以我们取m=2,判断奇偶即可。

2017-08-08 14:44:33 585

原创 【2017多校第二场】HDU 6055 Regular polygon【几何,枚举】

题意:题意,二维平面上给N个整数点,问能构成多少个不同的正多边形。 题解:容易得知只有正四边形可以使得所有的顶点为整数点。(具体证明可参考杨景钦在2017的国家队论文) 所以正解即求出所有的正四边形个数。 枚举2个点,然后暴力判断另外2个点的位置是否存在。 复杂度 N*N*logN。解:坐标都是整数输入,那么整数坐标能组成的正多边形只有正方形。但正方形的位置是随意的。让后我们会发现正方形可以分解为四个直角三角形。如图:

2017-08-08 14:25:32 574

原创 第八届福建省大学生程序设计竞赛

第八届福建省大学生程序设计竞赛题意:抽象过来就是,有n个人,随机打乱顺序后,有多少情况是至少有k个人在正确的位置上。思路:错排+组合数学。设定Dp【i】表示错排的数量。那么考虑dp转移方程,我们考虑最新加进来的这个数字i:①如果他放在了位子k上,然后位子k上的这个数字放在了位子i上,那么对应取k个位子有(i-1)种方法,那么有:Dp【i】=Dp【i-2】*(i-1);②如果他放在了位子k上,然后位子k上的这个数字没有放置在位子i上,同时位子k上的数字变成了一个新的问题,那么有:D

2017-07-26 14:44:12 1948

原创 POJ 2186 Popular Cows 【Tarjan+缩点】

题意:给你n头牛,m个关系,每个关系表示a崇拜b,问有多少牛被所有牛所崇拜。崇拜具有传递性。还是先Tarjan缩点,找出出度为0的点,此点为缩点后的点,并判断数量,如果数量为1,则存在,否则不存在。那个点在缩点前的数量即为被所有牛崇拜的数量。为加强理解,给上几组数据。

2017-07-21 15:58:10 412

原创 UVALive - 4287 Proving Equivalences【强连通缩点】【Tarjan算法】

题意:  给出N个命题,要求你证明这N个命题的等价性  比如有4个命题a,b,c,d,我们证明a<->b, b<->c,c<->d,每次证明都是双向的,因此一共用了6次推导 如果换成证明a->b,b->c,c->d,d->a,每次证明都是单向的,而只需4次就可以证明所有命题的等价性 现在给出M个命题证明,问还需要证明几个,才可以保证N个命题等价。分析:  缩点后求DAG中入度为0和出度为0的联通块的较大值。此题在刘汝佳《算法竞赛入门经典训练指南》P322此题和POJ1236差不多

2017-07-20 16:24:47 508

原创 POJ 1236 Network of Schools【强连通缩点】【Tarjan算法】

题意: 一些学校连成了网络, 在学校之间存在某个协议:每个学校都维护一张传送表,表明他们要负责将收到的软件传送到表中的所有学校。如果A在B的表中,那么B不一定在A的表中。 现在的任务就是,给出所有学校及他们维护的表,问1、如果所有学校都要被传送到,那么需要几份软件备份;2、如果只用一份软件备份,那么需要添加几条边?PS:第二道Tarjan,并且还用了缩点,搞了一下午,注意,此题中Tarjan用到的栈要定义成全局变量.....参考博客:

2017-07-19 21:42:35 666

原创 HDU 1269 迷宫城堡【Tarjan强连通分量 模板】

题意:判断图的强连通分量是否为一.模板题.Targan算法介绍及模板:http://blog.csdn.net/hurmishine/article/details/75248876

2017-07-17 16:54:36 572

转载 全网最!详!细!Tarjan算法讲解。

Tarjan算法讲解的博客网上找到三篇比较好的,现在都转载了,个人只研究了第一篇,正如博主所说,讲的标比较详细,清晰,剩下两篇也可以看一下.以下内容转自:http://www.cnblogs.com/uncle-lu/p/5876729.html全网最详细tarjan算法讲解,我不敢说别的。反正其他tarjan算法讲解,我看了半天才看懂。我写的这个,读完一遍,发现原来tarjan这

2017-07-17 16:17:39 11515 10

原创 当for循环遇到逗号运算符

for循环在是在编程中用的比较多的循环语句了,逗号运算符在实际编程中用到的不是很多,一般就用到定义变量的时候吧,其它的地方自己不会用,用了也怕别人看不懂. 今天在别人的代码中就遇到了,为了测试它的作用,就写了如下的代码:for(int i = 5, j = 10; j, i; i--, j--){ cout << i << "," << j << endl;}大家先猜一下,会输出什么.

2017-07-15 16:02:37 3261 3

原创 POJ 1849 Two【树的直径+树的遍历】

题意:两辆清雪车从同一点出发,要清理所有路上的积雪,问耗油量(路程和)最少是多少。不需要回到起点。要使路程最近,若起点在树的直径上,则两辆车往不同的方向走,直径上的边只用走一遍,其他的要走两遍。若起点不在直径上,则两人一起走到直径上,再往不同的方向走。综上:路径和为直径+2*非直径.即:2*sum-d.(sum为路径和,d为直径)

2017-07-14 16:26:44 509

原创 POJ 2631 Roads in the North 【树的直径】

题意:输入是一系列行,每行包含三个正整数:一个村的数量,一个不同的村庄的数量,以及连接村庄的路段长度,以公里为单位。 所有路段都是双向的。您要输出一个整数:该地区最偏远的两个村庄之间的道路距离。现在可以直接裸树的直径的模板了。

2017-07-14 14:57:48 718

原创 POJ 1383 Labyrinth 【树的直径】【真正的图】

题意:输入一个图,问你‘ . ’连成的区域,两个' . '之间的最长距离是多少.直接裸模板.但是注意输入的行和列,及超时解决.

2017-07-13 16:36:19 511

原创 图论题目建图小结

图论的题目,建好了图,就可以说完成一半的工作了,但是建图总的来说没有几种,但是配合不同的‘工具’就可以玩出不同的花样。这里说的‘工具’指数组或如vector等STL库。一、数组。这样最简单的建图方式,对于一些入门题目可以解决,但数据一大就不行了,并且空间复杂度高,对于稀疏图来说不太适用。可以pass二、用链表动态存储。有点复杂,但实际指针占用内存也有点大。再说有几个人能流利

2017-07-12 21:37:50 976

原创 POJ 1985 Cow Maratho【树的直径】

题目大意:有n个农场,这n个农场有一些边连着,然后要你找出两个点,使得这一对点的路径长度最大,输出这个最大的长度.输入的最后一个参数没用....直接裸树的直径就可以了.之前都用DFS解决,现在是一下BFS.并且用了pair,建图方便多了,不用结构体,不用写构造函数,配合vector,简直完美...

2017-07-12 21:00:08 733

原创 HDU 2196 Computer 【树的直径】

网上好多博客多用树形DP来解决,但是用树的直径也可以解决。题意:有n台电脑,下面有n-1行,每行两个数据v,w,第i行表示,第i+1台电脑与第v台电脑之间的距离是w.求每台电脑离它最远的电脑的距离.

2017-07-12 11:04:15 621

原创 2017ccpc全国邀请赛(湖南湘潭) H. Highway XTOJ 1267 【树的直径】

题意:n个城镇之间有n-1条道路相连,现在有个有钱人要来修n-1条高速公路,使得任意两个城镇之间都有唯一的高速公路,问你最多要花费多少钱。对于样例1:最远的两个点为4和5对于1,从1修到4,花费4对于2,从2修到5,花费4对于3,从3修到4,花费5对于4,从4修到5,花费6对于5,从5修到4,花费6从4到5和从5到4是一样的,算一次即可。最终花费为4+4+5+6=19对于此题,要用到树的直径,输的直径就是一棵树上最远的两个节点。找到输的直径后,树上的点到直径上的两个端点(必为其中一

2017-07-11 11:03:15 804

原创 即将逝去的五月

今天是2017.5.31.仔细一想这个月马上就要过去了,但是博客还没有写.这个月有好多事,也不这么想写博客但是,坚持了那么久,还是继续吧今后博客还是会继续写的并且,博客质量会比以前有所提升不会再发水文有的可以合在一起的博客没有必要分开写这个月看到Python创意代码本来只是想作为吃瓜群众后来一想自己也写一个吧就参加了其实那个代码之前写过现

2017-05-31 17:30:28 466 1

原创 2017中国大学生程序设计竞赛 - 女生专场

题意:给你测试数据数,题目数和提交次数,及每次提交的题目ID,时间和结果,求所用总时间.计算规则:若AC了题目,则用AC时时间+之前该题提交非正确次数*20有个坑,即使一个题目错了1w次,最后没有AC,那些罚时讲不会计算.思路:用两个数组,一个标记题目是否AC,另一个数组记录AC前不正确提交次数.

2017-05-31 17:10:20 1462

原创 大学生程序设计邀请赛(华东师范大学)

C. 袋鼠妈妈找孩子Time limit per test: 1.5 secondsMemory limit: 256 megabytesAccept / Submit: 41 / 172袋鼠妈妈找不到她的孩子了。她的孩子被怪兽抓走了。袋鼠妈妈现在在地图的左上角,她的孩子在地图第 x 行第 y 列的位置。怪兽想和袋鼠妈妈玩一个游戏:他不想让袋鼠妈妈过快地找到

2017-05-31 16:57:33 1032

原创 Python爬虫自动获取CSDN博客收藏文章

CSDN的Python创意编程活动开始第一天就看到了,但是认为自己是菜鸟,就向当“吃瓜群众”,后来看到有好多人的代码是关于爬虫的,当初我就是由于对爬虫 感兴趣才自学的Python。现在也打算参加一下这个活动。由于经常使用CSDN,所以收藏了好多优秀的文章,但是对于收藏夹没有整理好,要回去找之前收藏的文章不是很方便,经过研究,就用自学的简单Python爬虫帮我吧。去到首页一看,收藏的文章

2017-05-12 11:09:10 5832 6

原创 POJ 1276 Cash Machine【多重背包】

题意:有各种不同面值的货币,每种面值的货币有不同的数量,请找出利用这些货币可以凑成的最接近且小于等于给定的数字cash的金额.样例1:要取735,取款机内有3种钱:4张125的,6张5的,3张350的.735=3*125+2*5+1*350动态规划,多重背包,可以二进制优化.

2017-04-23 22:27:23 866

原创 比赛链接

第十五届北京师范大学程序设计竞赛决赛(网络同步赛)The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple浙江版单:

2017-04-22 21:18:44 519

原创 POJ 1189 钉子和小球【基础DP】

题目是中文就不多啰嗦了,但是有一点,如果某个点没有钉子,那么小球会落到下面第二层的位置。理解以后就和POJ1136 The Triangle差不多了。由于概率每次都要处于2,并且分数加法有点麻烦,所以,开始时一个数的值设为2^n,这样便可简化运算.运算方法有两种,一.dp[i][j]+=(dp[i-1][j-1]+dp[i-1][j])/2;二.dp[i+1][j]+=dp[i][j]/2,dp[i+1][j+1]+=dp[i][j]/2;相对来说第二种方法更简单一点.样例过程:3216

2017-04-21 21:44:12 781

原创 POJ 1157 LITTLE SHOP OF FLOWERS【基础DP】

题意:给出f朵花,v个花瓶,要把花都插到花瓶里去,而且花的顺序不能改变,编号小的在左边,每朵花放到花瓶里都会有一定的价值,问如何放才能产生最大的价值我们设dp[i][j]表示处理到第i朵花,然后把第i朵花放到第j个花瓶里时所能获得的最大价值;显然 dp[i][j] = max(dp[i - 1][k]) + val[i][j],其中k< j val[i][j]表示把第i朵花放到第j个花瓶里产生的价值本题dp状态:

2017-04-18 22:36:26 765

原创 POJ 1050 To the Max【DP】

做这题前,先弄清楚HDU1003这题。然后再把二维压缩为一维就可以了。1,12,123,1234,2,23,234,3,34,4按上面几种情况压缩,求出最大的即可。

2017-04-15 22:06:11 738

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