自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 问答 (5)
  • 收藏
  • 关注

原创 天天写算法之简单计算器(栈的应用)

点击打开链接记录一下,当时写的时候还是不知道如何下手,感觉卡了半天,都学过好几次了。代码如下:#include<iostream>#include<cstdio>#include<queue>#include<stack>#include<string.h>using namespace std;#define MAX 210...

2018-04-23 01:46:26 123

原创 天天写算法之mark高斯消元Lanterns

地址:点击打开链接

2018-04-21 23:06:16 97

原创 天天写算法之Ignatius and the Princess II(全排列)

地址:点击打开链接这个题目主要是用了next_permutation这个函数没什么东西,代码贴出来:#include<iostream>#include<cstdio>#include<string.h>#include<cmath>#include<stdlib.h>#include<fstream>#inclu...

2018-04-21 22:54:56 159

原创 天天写算法之The Blance(母函数)

地址:点击打开链接有趣,这个题目,我开的数组不够大,竟然给我报的是TE。这个题目最有趣的是,两边都可以放,也就是后面的a[k-l]和a[k+l]都需要进行赋值操作代码如下:#include<iostream>#include<cstdio>#include<string.h>#include<cmath>#include<stdlib....

2018-04-21 21:33:51 101

原创 天天写算法之Square coins(母函数)

点击打开链接这个题目直接是一个母函数的模板题目。代码如下:#include<iostream>#include<cstdio>#include<string.h>#include<cmath>#include<stdlib.h>#include<fstream>using namespace std;#defi...

2018-04-21 19:41:16 182

原创 天天写算法之回顾总结dp算法

个人理解:dp算法是一种理想状态的算法,假设在这一次之前所有的行动都是最优的,那么挑选出连接这一次状态的(也就是上一次行动)的最有情况加上这一次情况的奖励,那么就是当前这个状态下最优的。总结了一下,主要是针对简单的模板题,这些题目都是我根据hdu的acm step中提炼出来的。其实每一个dp算法,都需要有一个dp数组,无论是一维的还是二位的,用于保存到目前为止的最优状态。可以总结一个公式,在dp题...

2018-04-19 20:49:44 831

原创 天天写算法之回看标注

地址:点击打开链接

2018-04-18 23:24:50 79

原创 天天写算法之中国剩余定理

题号点击打开链接回看。暂时先跳过

2018-04-18 23:17:18 97

原创 天天写算法之A Simple Math Problem(矩阵快速幂)

地址:点击打开链接这个题的难点在于如果之前你没有这方面经验的话,估计很难构造这个矩阵,会了构造之后,会写快速矩阵就OK了。代码如下:#include<iostream>#include<cstdio>#include<string.h>using namespace std;#define MAX 100000002#define repf(i,a,b...

2018-04-18 22:39:17 285

原创 天天写算法之欧拉函数的应用

直接上代码把,一个是直接求,如下,给你一个数,让你计算他的欧拉函数就是下面这个模板#include<iostream>#include<cstdio>#include<string.h>using namespace std;#define MAX 100000002int vis[MAX];int euler(int x){    int ans = x;  ...

2018-04-18 18:26:21 95

原创 天天写算法之Maple trees

点击打开链接这个题目和前一个求周长的很相似,只不过现需要求出闭包的点来,然后再挨个计算三角形外接圆半径的最大值,最后+0.5得到结果。但是要钝角三角形的时候需要按其最长边计算,至于为什么我也不太清楚,可能就是求凸包最小yuan覆盖,就是这样的计算过程,如果哪位大神知道具体原理,可以告知一下。代码:#include<iostream>#include<string.h>#...

2018-04-17 22:13:30 549

原创 天天写算法之最大三角形

地址:点击打开链接一直看不太懂网上的凸包模板,索性就按照自己了解的来吧,一开始忘了初始化res,一直wa,心累代码#include<iostream>#include<string.h>#include<cstdio>#include<cmath>#include<algorithm>#define MAX 50005usi...

2018-04-17 21:19:32 188

原创 天天写算法之Assignments

地址:点击打开链接我正在做凸包问题,结果忽然出现了一个贪心-。-|||一开始没都明白题目,以为会有多余的学生,想到了背包,emmm,后来发现0.0#include <cstring>#include <cstdio>#include <algorithm>#include <cstring>#define MAX 1007using na...

2018-04-17 18:36:38 144

原创 天天写算法之

点击打开链接Mark一下这种公约数求是否共线的情况,还有gcd,需要把之前的东西再写一遍了。#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <cstdlib>using namespace std;int gcd ...

2018-04-17 16:31:33 106

原创 天天写算法之Surround the Trees

地址:点击打开链接这个题目还是利用了chaji的思想,小于0,则顺时针,大于零则逆时针。代码如下:#include<iostream>#include<string.h>#include<cstdio>#include<cmath>#include<algorithm>#define MAX 105using namespa...

2018-04-17 16:05:27 179

原创 天天写算法之Lifting the Stone

点击打开链接重心的概念首先要清楚,直接看着篇博客点击打开链接

2018-04-17 01:27:58 182

原创 天天写算法之You can Solve a Geometry Problem too

地址:点击打开链接这个题目,依旧使用了cha乘,逆时针的性质,判断两个线段是否相交,在这个地方,只需要判断对于其中任意一个线段,另一个线段的chacheng都为非正数,这里就可以得到两个线段相交了。代码:#include<iostream>#include<string.h>#include<cstdio>#include<cmath>#de...

2018-04-16 19:48:46 81

原创 天天写算法之Shape of HDU

地址:点击打开链接一个计算几何性质的题,判断是不是凸多边形代码:#include<iostream>#include<string.h>#include<cstdio>#define MAX 105using namespace std;struct Node{ int x ; int y ;}nodes[10001];bool...

2018-04-16 11:39:23 135

原创 天天写算法之National Treasures

地址点击打开链接这个题目的问题,我一开始百思不得其解,后来反过来想了想,就是求最少的点,把所有的线都占有了,那么就是最小覆盖问题,最小覆盖=最大匹配,emmmmm:这个题,我有一个地方很不理解,我们原本就有警卫,那么原本的警卫是怎么处理的?感觉这样做,是直接忽略掉原本有的警卫,然后给出了最大覆盖,那么万一原本的警卫占据了一个有用的位置,那么岂不是没有考虑到?哦~,还是最大覆盖问题,你再给出的线里面...

2018-04-15 22:49:05 212

原创 天天写算法之Uncle Tom's Inherited Land*

地址点击打开链接这个题目的特别行在于如何区分两个集合,做到二分。自己按照以前的格式写了一个,很容易理解,每次都找四个方向。代码如下,很容易理解。#include<iostream>#include<string.h>#include<cstdio>#define MAX 105using namespace std;int dir[4][2]={{1,...

2018-04-15 21:16:41 133

原创 天天写算法之50 years, 50 colors

地址点击打开链接这个题目和上一个题目是一个思想,二分图的匹配算法可以很好地解决同一行,同一列这种冲突问题,就好比两个车,如果在同一行列就会互相攻击,而这个题目只是颜色变多了,那么我们就会多出来很多个循环,其他并没有任何影响,那么我又有这个题想到了八皇后问题,那么区别在哪呢,这个题目是给出了所有的情况,判断不冲突的最大组数,感觉是八皇后问题的逆过程。1 3  和 1 4,会因为都有1而存在冲突,也就...

2018-04-15 19:00:59 164

原创 天天写算法之棋盘游戏

点击打开链接这个题和前面的题一样,就是求最大匹配,这里最关键的一点是,阴影部分不会影响到车之间的攻击,也就是说可以直接飞过去,很皮,感觉是强行为了写hungary算法强行凑出来的题目。#include<iostream>#include<string.h>#include<cstdio>#define MAX 155using namespace std...

2018-04-15 17:50:50 244

原创 天天写算法之Air Raid

地址点击打开链接这个题目能用匈牙利的原因是,没有环。这个题目,我就一个纳闷的地方,因为做过的上上道题,是男女孩问题,那个时候我们把最大匹配数除以了2而这个题目,思路一样,但是最终并没有进行/2操作。当时对男孩女孩的理解是,没有办法区分出谁是男孩,谁是女孩,所以就克隆出来了一倍的人,最终就进行了除以2的操作而这个题目,是路口和路口之间的连接问题,这个地方有点想不明白,求告知。Orz代码:#inclu...

2018-04-15 17:24:55 204

原创 天天写算法之Machine Schedule

地址点击打开链接这个题目:有两台机器A和B,A机器有n种工作方式,B机器有m种工作方式。共有k个任务。每个任务恰好在一条机器上运行。如果任务在A机器上运行,就需要转换为模式Xi,如果在B机器上运行,就需要转换为模式Yi。每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少。需要注意的是,初始状态都在0节点处...

2018-04-15 16:37:00 189

原创 天天写算法之Girls and Boys

地址:点击打开链接这个题的出现标志着算法大业又加入了新的一员,虽然前面的还不牢靠,但是他的到来的确使得所有的东西变得更不牢靠。二分图,KM,匈牙利,emmmm,最大匹配,完美匹配,完备匹配,增广路径,最大流。这一大堆东西,需要先去搜一波基础知识,再来做这个题。题目很简单,就是找最大匹配,但是没有说是男是女,所以我们就直接乘2,最后结果除以2就行了。代码:#include<iostream&g...

2018-04-15 15:16:54 143

原创 Mark两道题,回来做,都是最短路的扩展

点击打开链接点击打开链接这两个题目。比较综合

2018-04-14 20:01:56 103

原创 天天写算法之Transit search

点击打开链接Mark一下,有空回来再写。参考点击打开链接代码#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <map>#include <vector>using namespace std;#define ...

2018-04-14 19:01:35 213

原创 天天写算法之Bus System

地址点击打开链接这个题目,我看了一下网上的,感觉没太看懂,于是按照正常的dj写了一遍Map里存的是费用,也就是最后找什么最小那么咱们就存什么,等我复习回来的时候再用floyd做一遍。代码如下,注意long long ,无论是输入还是输出,还有INF的最大值,因为是64位的,所以INF,取了1e18的大小#include<iostream>#include<cstdio>...

2018-04-14 18:04:54 384

原创 天天写算法之Here We Go(relians) Again

题目地址点击打开链接这个题的代码绝对可以用BFS,优先时间队列的那种。但是,我大概写了一下,怎么也得两百行代码,而且处理起来感觉很无聊,很琐碎。所以还是跪在最短路径算法上吧。copy一下别人的代码,以供借鉴,主要的难点也就是读题,以及处理数据上。/*HDOJ 2722 最短路 看到这么长的题目是跪了 英语本来就不好 直接搜别人的题目意思 n*m大小的矩形,起点在矩形的左上角, 终点在右下角,...

2018-04-13 22:25:18 180

原创 天天写算法之Dijkstra之Choose the best route

地址:点击打开链接到现在为止,我才解决了一半,用floyd还是RE,不是很明白,然后写dijkstra又用了一个多小时,调代码,调的我,最后发现把一个==写成了=(wtm),逆向思维,就是把重点看成出发点,全部倒过来做。代码:#include<iostream>#include<cstdio>#include<string.h>using namespac...

2018-04-13 20:55:33 120

原创 天天写算法之Choose the best route

地址:点击打开链接这个题目,我用floyd,我知道可能会有超时间的问题,但是为了熟悉一边,我还是写了,但是发现re了,百思不得其解。求大神指点一下,Orz代码如下:#include<iostream>#include<cstdio>#include<string.h>using namespace std;#define MAX 1500const i...

2018-04-13 19:31:12 231

原创 天天写算法之floyd之Minimum Transport Cost

地址点击打开链接这个题目主要是字典序,也就是小的在前面,如果距离相等。比如1 3  5 和1 4 5 结果一样,那么1 3 5 应该是结果。然后就是floyd算法,动态规划的思想是平方复杂度的。感觉要比迪杰斯特拉好一些,但是理解起来却要费力一些。代码如下,很清晰,即使你不懂,直接看代码也能看明白:#include <iostream> #include <stdio.h&gt...

2018-04-13 17:21:16 110

原创 天天写算法之Connect the Cities

训练的prime算法太少,都用Kruskal就过了,mark一下。地址点击打开链接//546MS 1220K 1441B C++ //G++ TLE,prim算法模板题 #include<stdio.h>#include<string.h>#define N 505#define INF 0x7ffffffint g[N][N];i...

2018-04-12 22:59:57 119

原创 天天写算法之Jungle Roads

点击打开链接这个题目,让我最费解的是,我在接受ABC的时候必须用char[],而不能用char,否则会出现读不到的情况。很迷。代码简单:#include <iostream>#include<cstdio>#include<string.h>#include<cmath>#include<algorithm>using name...

2018-04-12 20:25:11 161

原创 天天写算法之继续畅通工程

点击打开链接这个题,我做的时候忽然有点和prime混了。首先Kruskal不需要一个visit数组,用并查集判断父亲节点是否相同,就可以完全解决这个问题。而prime则需一个visit数组来进行记录访问与否代码如下:#include <iostream>#include<cstdio>#include<string.h>#include<cmath&...

2018-04-12 18:09:00 93 1

原创 天天写算法之还是

点击打开链接这个题的收获一个是,我写repf总是不注意<和<=以至于没有改。另一个是scanf的输入顺序是从右到左的,也就是说,如果你在最后一个i++,那么前面输入的索引i也会全部增加。可以自己试一试。#include <iostream>#include<cstdio>#include<string.h>#include<cmath&g...

2018-04-12 17:48:47 90

原创 天天写算法之畅通工程

点击打开链接并查集问题,要打通N个城镇,说明需要建立N-1条路,那么添加一个修建的路,就需要判断是不是已经联通(移动,小灵通),联通了就减去1。代码很简单,如下:#include <iostream>#include<cstdio>#include<string.h>#include<cmath>#include<algorithm&g...

2018-04-12 10:00:29 103

原创 天天写算法之Eddy's picture

地址点击打开链接这个题目,理论上两个算法都可以过,但是prime要好一些,prime适合做稠密图,也就是边多的。表现能力更好。Kruskal则适合处理稀疏图。代码如下,有备注:#include <iostream>#include<cstdio>#include<string.h>#include<cmath>#include<algo...

2018-04-12 09:26:31 126

原创 天天写算法之Constructing Roads

地址:点击打开链接这个题用到了克鲁斯卡尔算法(其中包括并查集)算法很简单,直接能看出这个题是最小生成树就行。把他一开始就修好的路放在一个集合中,每次加一个边,如果在一个集合里,就下一循环,否则把这个节点加入集合,同时把结果也更新,#include <iostream>#include<cstdio>#include<string.h>#include&lt...

2018-04-11 20:39:15 88

原创 天天写算法之未解决的问题Connections between cities

点击打开链接先放一放

2018-04-11 19:35:25 132

空空如也

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

TA关注的人

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