自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Crazy

心向大佬,披荆斩棘。

  • 博客(44)
  • 收藏
  • 关注

原创 HDU2094---产生冠军(拓扑排序。)

【题目来源】:https://vjudge.net/problem/HDU-2094 【题意】 典型的拓扑排序,对了,还可以用并查集。 【思路】 记录一下每个点入度,要是有多个0说明没有冠军,一个0就输出yes,主要是字符串变为数字,map一下就好了。 【代码】#include<map>#include<string>#include<iostream>#include<cstdio

2017-07-31 16:02:28 406

原创 HDU1285---确定比赛名次 (拓扑排序)

【题目来源】:https://vjudge.net/problem/HDU-1285 【题意】 给出n个人,每人对应一个1~n的编号,如果比赛x赢y了,就在输入数据里表示为x y,问最终比赛名次是什么。 【思路】 有关于图论的排序,并且还是在拓扑排序专题题遇到,那肯定是拓扑排序啦(后者比较关键0.0),来一发裸模板,大致说一下,这个模板得来源。 假设现在有那么一个图: 说一下入度和

2017-07-31 11:28:29 415

原创 我站在大一的边缘,望向大二。

临近大二,写点东西整理一下凌乱的大一。(采取一逗到底模式)时间追回到高三毕业的暑假,也就是一年前,那时的我三点一线,吃饭、睡觉、打王者,被学习掏空了一切的高三毕业狗无所事事,听闻,有家二本院校计算机不错,什么都不了解的我不懂装懂,在志愿上铁了心写上了这家院校的大名,当时全班男生估计报的都是计算机,但是鬼知道计算机是做什么的,谁也不曾问,谁也不曾提及。后来,联系了一位学长,学长提及到学校里有个叫做“工

2017-07-31 02:08:13 687 1

原创 51nod1089---最长回文子串 V2(51nod基础:Manacher算法)

【题目来源】:https://www.51nod.com 【题意&&思路】 刚才为了做这个题,就去学了下Manacher算法,这种算法是以线性的时间复杂度,前后只需要匹配一次,这里放下一篇比较易懂的博客,Manacher算法详解,加油。 【代码】#include<cstdio>#include<cstring>#include<algorithm>using namespace std;

2017-07-31 00:55:19 370

原创 51nod1088---最长回文子串(51nod基础:模拟)

【题目来源】:https://www.51nod.com/ 【题意&&思路】 因为数据比较小,只有1000,所以采用强行模拟方法,大致意思就是枚举i,然后判断前i个,若不是,就剔除第一位,继续。。。优化是特判了如果当前长度不大于maxx,那就退出。 【代码】#include<cstdio>#include<cstring>#include<algorithm>using namespac

2017-07-31 00:01:10 434

原创 51nod1085---背包问题(51nod基础:01背包)

【题目来源】:https://www.51nod.com 【题意&&思路】 只需一套模板。。。当然,,已经一想就出来了。。。dp数组里存的是容量为i的最大价值。。更新就是了。 【代码】#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;int a[10

2017-07-30 22:39:08 280

原创 51nod1081---子段求和(51nod基础:前缀和)

【题目来源】:https://www.51nod.com 【题意&&思路】 求l到l+dis区间的和,咋一看,还以为是非线段树不可。。 转念一想,或许前缀和就可以了。。。 【代码】#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;LL arr[50

2017-07-30 18:33:30 345

原创 51nod1079---中国剩余定理(51nod基础:数论)

【题目来源】:https://www.51nod.com 【题意】 中文题意不再解释。。 【思路】 模板打上去。。。 【代码】#include <bits/stdc++.h>#define MAXN 20#define ll long longusing namespace std;ll p[MAXN], m[MAXN];int n;void exgcd(ll a, ll b, l

2017-07-30 18:17:05 241

原创 URAL1004---Sightseeing trip (Floyed求最小环)

【题目来源】:https://cn.vjudge.net/problem/URAL-1004 【题意】 给出n个点,m条双向边,赋权,问,在整个无向图中,最小环的路径。 什么是最小环呢,也就是从i点经过某些点重新回到i点的最小距离。 【思路】 最小环记录路径模板题。 给出两篇不错的讲解:求最小环讲解,以及最小环。 【代码】#include<cstdio>#include<cstrin

2017-07-30 18:03:46 358

原创 NYOJ2347---LYQの字符串(技巧题:应该是滑动窗)

【题目来源】:http://acm.nyist.me/JudgeOnline/problem.php?id=2347 【题意】 中问题已不再叙述,,, 【思路】 根据题意的描述,这个字串中对于任何的i,都符合Ai=Ai+2.所以奇数位上的字符都相同,偶数位同理。如果有一个子串两个条件都满足那么这个子串就可以当做答案之一了,但是可以修改k个字符,答案还可以贪心增长。我们单独考虑奇偶位上的字符,

2017-07-30 12:39:32 259

原创 NYOJ2351---你怎么又插队(技巧:扩大数值)

【题目来源】:http://acm.nyist.me/JudgeOnline/problem.php?id=2351 【题意】 中文题意不再解释。 【思路】 看完了才题解明白这有一个技巧,我们可以给每个人赋一个初始权值,因为每次操作是将某一个人弄到第几名的位置,那么我们可以给这个人重新赋予一个值,重新给哪个人赋值为: 第pos名的分减去操作次数;在进行结构体排序,就可得到答案;因为每个名次

2017-07-29 19:00:14 242

原创 NYOJ2350---彩排(技巧题,二进制进行桶排)

【题目来源】:http://acm.nyist.me/JudgeOnline/problem.php?id=2350 【题意】 中文题意不再解释。。 【思路】 这道题严重卡内存,用各种离散化都不可以,我知道的只有一种方法可解,把所有数字都化成二进制,进行桶排一下各位0和1 的数量,因为是每个数都会出现k次,只有一个不是,那么把各个位上的数字都进行取余k就可以的到那个不规范的数字了。 举个样

2017-07-29 13:16:24 278

原创 51nod1072---威佐夫博弈(51nod基础:博弈)

【题目来源】:https://www.51nod.com/ 【题意】 中文题意不解释。。。。 【思路】 模板呀,以及这位大佬的讲解:威佐夫博弈 奇异局势:两个数的差值*(sqrt(5)+1)/2==min(两个数)。 【代码】#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using names

2017-07-29 00:16:32 236

原创 51nod1058---N的阶乘的长度(51nod基础:最简单的写法)

【题目来源】:https://www.51nod.com 【题意】 求N的阶乘的长度。 【思路】 用log10函数,然后取整加一就可以了。 【代码】#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;int main

2017-07-28 23:43:38 402

原创 51nod1027---大数乘法(51nod基础:乘法模拟)

【题目来源】:https://www.51nod.com 【题意】 简单的大数乘法。模板。。 【思路】 强行模拟,,,。 【代码】#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;char strOne[1000+10];char strTwo

2017-07-28 22:50:18 332

原创 CF758D---Ability To Convert(模拟+贪心思想(仅仅是思想))

【题目来源】:http://codeforces.com/problemset/problem/758/D 【题意】 根据16进制的11311可以转化为十进制的475,过程是: 475 = 1·162 + 13·161 + 11·160 然后给出一个进制,再给出一个数,问,此进制下的这个数按这种方法转化为十进制的值是多少? 【思路】 看上面的那个式子,每次选的数字(例如:11,13,1)

2017-07-28 18:44:49 447

原创 计算几何之线段相交问题模板

1.定义一个点的结构体:const double eps=1e-6;//精度struct point{ int x,y;//一般是double比较好,个人喜好}node[100];线段相交不同于直线相交,需要判断多次: 2.叉积:double cross(point a,point b,point c){ return (c.x-a.x)*(b.y-a.y)-(b.x-a.

2017-07-28 13:21:45 594

原创 POJ3347---Kadj Squares(计算几何基础:凑出整数sqrt(2))

【题目来源】:https://vjudge.net/problem/POJ-3347 【题意】 给出一个个正方形,并且都与x轴成45度,且有一个交点bi,情况如图所示,问,从上往下看时,最少能看到几个正方形? 规定,正方形任意一点做与y轴平行的直线若是在第一象限没有交点,那么即为可见。 【思路】 这道题不允许有精度误差,若是使用了sqrt(2)是会错的,所以,考虑同时把边扩大sqrt(2)

2017-07-28 11:34:55 322

原创 51nod1005---大数加法(51nod基础:加减模拟)

【题目来源】:https://www.51nod.com 【题意】 大数加法模拟,包含负数。 【思路】 直接就是模拟,模拟出加,减法就可以了。还行。 【代码】//这是我第一次规范代码,利于看懂#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char string_NumOne[1000

2017-07-28 11:10:12 396

原创 51nod1006---最长公共子序列Lcs(51nod基础:动态规划)

【题目来源】:http://www.51nod.com 【题意】 求出两个字符串的最长公共子序列,并输出任意一个。 【思路】 lcs模板,但是这是我第一次遇见输出字符串的。。。 【代码】//一路坚持下去。#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;c

2017-07-28 03:00:56 273

原创 HDU6047---Maximum Sequence(2017多校联赛C题)

【题目来源】:http://acm.hdu.edu.cn/showproblem.php?pid=6047 【题意】 给出序列a和序列b,均有n项,让求后n项的最大和。 并且给出了一个关系,是a[x] =max( a[j]-j),(b[k]<=j//利用优先队列每次挑出最大值,根据他对应的j去处理对应的b[k]#include<map>#include<queue>#include<cm

2017-07-27 17:45:52 346

原创 POJ1113---Wall(基础计算几何:凸包入门)

【题目来源】:http://poj.org/problem?id=1113 【题意】 国王给你一些点,这些点组成一个城堡,国王要求在这个多边形形状的城堡周围建起周长最小的城墙,并且城墙与城堡的距离处处不得小于L。 【思路】 凸包模板。只需要求一下这些点构成的凸包+以题目上给的距离为半径的周长。 【代码】#include<cmath>#include<cstdio>#include<cs

2017-07-26 16:05:46 428

原创 POJ6034---Balala Power!(2017多校联赛B题)

【题目来源】:http://acm.hdu.edu.cn/showproblem.php?pid=6034 【题意】 26个英文字母,要求用0~25的数字给每一个英文字母赋值,把每一个字符串变成一个个数字,然后,求和。有以下几点,这些构成的数字是26进制,还有,为了求最大的和,必须合理分配每一个数字代表哪个字母,并且,这些数字不会有前导0,也就是说,0这个数字不能够赋值给任意字符串的第一个字母。

2017-07-26 15:40:02 413

原创 HDU6033---Add More Zero(2017多校联赛A题)

【题面】 Add More Zero Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 2245 Accepted Submission(s): 1053Problem DescriptionThere is a youngs

2017-07-26 08:26:38 267

原创 POJ1696---Space Ant(基础计算几何:极角排序)

【题目来源】:https://vjudge.net/problem/POJ-1696 【题意】 一只处在太空的蚂蚁,去吃菜,由于自身原因,只能向左转弯,并且走过的路径会被标记,不能再走。问:最多吃到多少卷心菜。输出吃得顺序 【思路】 可以想一下卷心菜那样,一圈一圈的走,肯定会吃完,所以先输出n,接着,考虑先吃哪一个点,那么想下卷心菜,先走最下面且最左边的菜,然后每次都选择拐角最小的点,体现在

2017-07-24 18:39:38 780

原创 POJ1066---Treasure Hunt (计算几何基础:线段相交)

【题目来源】:https://vjudge.net/problem/POJ-1066 【题意】 给出一个100*100的矩形,中间有好多条线段分割成一个个独立的空间,然后给出宝藏的坐标,因为要拿到宝藏,所以,要炸掉一部分线段,并且,规定只能炸掉线段中点,问,最少炸掉几条线段才能够拿到宝藏? 【思路】 就像题面表示的那幅图,炸掉了一堵墙,以及一条线段,问题可以表述为从内部定点,到四周墙上的最少

2017-07-21 12:36:58 330

原创 POJ2653---Pick-up sticks (基础计算几何:线段相交问题)

【题目来源】:https://vjudge.net/problem/POJ-2653 【题意】 这道题叙述了一个游戏的规则以及玩法,从手里依次扔出雪糕棍,在地上会可能就会堆起来,然后挑出棍上没有棍的棍(好拗口。。。)。 【思路】 这道题很简单的线段相交问题,但是时间负责度问题上,我就想不明白了100000*100000怎么可以3s过。。。但是由于本身才学疏浅,所以只好暴力交了一发,心中无限郁

2017-07-21 08:29:20 440

原创 POJ1556---The Doors (计算几何基础:判断线段相交(快速排斥实验+跨立实验))

【题目来源】:https://vjudge.net/problem/POJ-1556【题意】 从最左边到达最右边,最短路径是多少。【思路】 既然是最短路,考虑到点也不是特别多,所以就用dijs,关键是两点之间的初始距离该如何处理,这一点非常重要,因为有墙的阻隔,所以要判断两点之间的最短路是否与代表墙的线段相交,若相交,则此最短路不成立。 所以,总而言之,言而总之,最关键的一点就是怎样去判断两线

2017-07-20 17:41:47 624

原创 POJ1269---Intersecting Lines (计算几何基础:直线相交求交点)

【题目来源】:https://vjudge.net/problem/POJ-1269 【题意】 给出两条直线的起、终点坐标,试求两条直线是相交,平行,还是重合?若是相交,则求出交点。 【思路】 用一般的模板:(转自:Rachel-Zhang)直线的一般方程为F(x) = ax + by + c = 0。既然我们已经知道直线的两个点,假设为(x0,y0), (x1, y1),那么可以得到a =

2017-07-20 10:10:22 394

原创 POJ3304---Segments (基础计算几何:叉积判断线段相交)

【题目来源】:https://vjudge.net/problem/POJ-3304 【题意】 给出n条线段的起始点坐标,然后问,有没有这样一条直线:所有线段在该直线上的投影至少有一个共同点。 【思路】 假设存在一条直线能与所有线段相交,那么与这条直线垂直的直线一定符合题意。至于,为什么要枚举所有端点,看到一句不错的解释: 证明:若有l和所有线段相交,则可保持l和所有线段相交,左右平移l到

2017-07-18 11:24:38 340

原创 POJ2318---TOYS (基础计算几何:叉积应用)

【题目来源】:https://vjudge.net/problem/POJ-2318 【题意】 给出一个矩形的柜子,这个柜子有n个隔板,小孩手里有m个布偶,将娃娃都扔进去,问,被隔板分离出来的每个小空间里有几个娃娃? 给出n,m,和矩阵柜子的左上角坐标,与右下角的坐标,下面有n+m行,前n行给出隔板的上下两个横坐标,下面m行表示娃娃的所在位置,并且不会恰好在隔板上。 【思路】 利用叉积公式

2017-07-17 17:33:22 264

原创 HDU5015---233 Matrix (矩阵快速幂(递推))

【题目来源】:https://vjudge.net/problem/HDU-5015 【题意】 给出一个233矩阵,第一行是233,2333。。。以此类推,每次*10+1,然后给出了左边一列的数字,每一项都等于他的横坐标减一,和纵坐标减一的两个数字的和。求a[n][m]。 【思路】 第一行的每次向右移动一个,都是当前数字*10+3。 并且,假设a[0][0]=23,那么第二列的数字表示为:

2017-07-17 10:35:07 311

原创 LightOJ1132---Summing up Powers (矩阵快速幂+二项式定理(简单推理))

【题目来源】:https://vjudge.net/problem/LightOJ-1132 【题意】 题意呢,就像题面描述的一样。。。 【思路】 首先,这道题因为存在递推式,并且,N非常之大,所以想到矩阵快速幂,接着,整体思路为(假设前n项和为Sn): S(n+1)=Sn+(n+1)^k 然后按照一般的步骤(将左边,右边化为后,前两个状态,也即是说,后一状态可由前一状态递推而来),但是

2017-07-16 10:44:17 489

原创 HDU4565---So Easy!(矩阵快速幂(精度控制))

【题目来源】:https://vjudge.net/problem/HDU-4565 【题意】 题意如面。 【思路】 这种题主要是精度:”┍ ┑”这种是取大于等于当前值的整数。然后主要就是一个转换的问题: a+sqrt(b)————->x1+y1(sqrt(b)) (a*a+b)+2*a*sqrt(b)—–>x2+y2(sqrt(b)) 然后也就是: Cn=(a+sqrt(b))ⁿ+

2017-07-11 09:38:58 396

原创 POJ3233---Matrix Power Series (矩阵快速幂(升级):矩阵套矩阵)

【题目来源】:https://vjudge.net/problem/POJ-3233 【题意】 题意让求Sn,其中呢,Sn= A + A2 + A3 + … + An. 【思路】 一开始就想到利用前n项和,找到对应的关系,最简单的关系是这样的: Sn=Sn-1+A(n-1)*A 写出来的矩阵关系式就是这样的(本人写法比较喜欢吧系数矩阵放在右边) 1 A 0 A 乘 Sn-1 0

2017-07-09 08:44:47 738

原创 FZU1683---纪念SlingShot(矩阵快速幂(数据劣质))

【题目来源】:https://vjudge.net/problem/FZU-1683 【题意】 题意就像题面描述。 【思路】 这道题和我上一道题Arc of Dream非常相似,并且我在那篇博客里也写的非常详细,所以这里就直接写怎么推导: 设前n项和:S 那么:S[i]=S[i-1]+F[i] 接着:F[i]=3*F[i-1]+2*F[i-2]+7*F[i-3] 代入:S[i]=S[

2017-07-07 10:53:18 283

原创 HDU4686---Arc of Dream(矩阵快速幂,大数据的坑题)

【题目来源】:https://vjudge.net/problem/HDU-4686 【题意】 题意如题面所述。AD(i)=AD(i-1)+ai*bi。 【思路】 很明显,矩阵快速幂,但是这道题相当坑。 第一:若是没有n==0的情况会给出超时的结果。(我还一直在想log 的复杂度怎么会超时) 第二:乘法中间的过程必须各种取余,否则会爆longlong。 好了,步入正题: 很多博客直

2017-07-07 10:13:32 561

原创 HDU3317---Fibonacci Numbers(矩阵快速幂+pow+log)

【题目来源】:https://cn.vjudge.net/problem/HDU-3117 【题意】 求第n个斐波那契数,如果这个数值长度大于8位,就输出前四位和后四位。 【思路】 小伙伴说到这道题的时候,我就想到了另外一道题,求k^n的前三位,后三位。 里面使用到了log10函数,log10的使用方法刚才那道题的题解有,自行点击,不再多说。 然后,就是在这道题里求前四位该如何使用:

2017-07-06 16:12:53 296

原创 最短路小结(三种算法+各种常见变种)

额,博主只是做了几(约数)道题而已,写这篇小结纯粹想留作纪念(勿喷,但是可以交流)(那啥,转载的话注明一下来源。。打字不容易。。) 最短路呢,包括三种算法,但是各有各的变种,其中变化有很多。 简单记录一下。 首先是三种算法: 1、Dijkstra算法。(单源点最短路径) 双手奉上啊哈雷算法。 然后开始叙述我所理解(如有雷同。。那就雷同吧)的: 有n个点,相互之间可能有所连接或者没有,那

2017-07-05 11:49:11 5330 1

原创 POJ1724---ROADS (最短路变形(邻接表+优先队列))

【题目来源】:https://vjudge.net/problem/POJ-1724 【题意】 给出旅游经费k,每一条路都要花去一定的经费,在保证能够从点1到点n的情况下,求最短路。 【思路】 这是我的最短路专题里最后一道题了。总体感觉这几天做的还行,学到了不少东西。有苦有乐。 第一次这么在最短路里用优先队列,然后,恍然大悟还可以这么写。 这道题前提保证能够到达n点,并且还要是最短路,那

2017-07-04 19:32:41 376

空空如也

空空如也

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

TA关注的人

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