自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Let_life_stop的博客

任凭生命去阻拦!

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

原创 C - Contest Setting Gym - 101982C dp 补题

题目链接:https://vjudge.net/contest/273260#problem/C学习了一下别人的思路,首先去重,然后离散化。dp数组开二维,每一次更新,状态转移方程,dp[ i ][ j ] = (dp[ i-1] [ j ]+dp[ i-1] [ j -1 ]*(ans[ i ]))%mod;第i种商品第j种(j<=k)的时候,等于第i-1个商品第j种的总方法数...

2018-11-30 00:52:19 275

原创 King's Quest POJ - 1904 匈牙利算法的思想+tarjan缩点+染色

题目链接:https://cn.vjudge.net/problem/POJ-1904自己一开始的想法,打算用匈牙利算法实现,找二分图的最大匹配。但是打了打发现,不太好实现。原因如下:匈牙利算法是不停的找增广路。如果这个题用匈牙利算法实现的时候,就是这个地方:bool Find(int t){ for(int i=1; i<=m; i++) { i...

2018-11-29 17:50:13 189

原创 强连通图(最多加入几条边使得图仍为非强连通图)G - Strongly connected HDU - 4635

题目链接:https://cn.vjudge.net/contest/67418#problem/G具体思路:首先用tarjan缩点,这个时候就会有很多个缩点,然后再选取一个含有点数最少,并且当前这个点的出度和入度至少有一个为0,这个原因后面解释。然后选出最少的点 t1 后,当前的图就可以看成两个“缩点”了,除了选出来的t1点,其他点可以形成一个联通块,然后这两个缩点之间可以连着单向边,这样的...

2018-11-28 16:07:20 568

原创 F - Warm up HDU - 4612 tarjan缩点 + 树的直径 + 对tajan的再次理解

题目链接:https://vjudge.net/contest/67418#problem/F题目大意:给你一个图,让你加一条边,使得原图中的桥尽可能的小。(谢谢梁学长的帮忙)我对重边,tarjan算法中的各个数组的作用,以及需要哪些数组,还有一些不可取的地方。重边:原来一直以为无向图没有重边,,,在进行无向图的缩点的时候,假设 u- >已经走过了,那么 在不加重边的情况下,v...

2018-11-26 17:31:25 172

原创 树的直径(两个bfs)

题目链接:https://cn.vjudge.net/problem/POJ-2631树的直径:树中的最长链具体思路:随便找一个点bfs,然后找到最长的链,然后再以找到的点作为起点进行bfs,然后找到的最长的链就是树的直径。AC代码:#include<iostream>#include<stack>#include<iomanip>#in...

2018-11-25 20:35:20 342

原创 Masquerade strikes back Gym - 101911D(补题) 数学

https://vjudge.net/problem/Gym-101911D具体思路:对于每一个数,假设当前的数是10 分解 4次,首先 1 10 这是一对,然后下一次就记录 10 1,这样的话直接每一个数跑到这个数的一半就可以了,还有一个优化,用一个数组(map会超时)记录当前这个数的分解已经到了哪个地方了。AC代码:#include<iostream>#incl...

2018-11-25 14:57:21 438

原创 Dull Chocolates Gym - 101991D 离散化 前缀和

题目链接:https://vjudge.net/problem/Gym-101991D具体思路:首先看数据范围,暴力肯定不可以,可以下离散化,然后先求出离散化后每一个点到(1,1)的符合题目的要求的个数,然后再按照一块一块的求,打个比方,离散化后(1,1) (1,2)(1,3)(2,1) (2,2) (2,3)(3,1) (3,2) (3,3)如果(1,1)这个点满足,那么求一...

2018-11-24 10:40:35 239

原创 L - Looking for Taste Gym - 101991L 二进制枚举/思维

方法一:因为最多是10的六次方,所以可以直接枚举二进制上的每一位来得到最优结果。AC代码:#include<iostream>#include<stack>#include<stdio.h>#include<queue>#include<map>#include<algorithm>#include&lt...

2018-11-23 17:56:15 183

原创 Network POJ - 3694 (LCA+tarjan+桥)

题目链接:https://vjudge.net/problem/POJ-3694具体思路:首先可以通过缩点的方式将整个图变成一个树,并且树的每条边是桥,但是我们可以利用dfn数组将整个图变成树,这样就可以省去缩点的过程了,同时lca的作用。假设有如下情况。f->a    f->b,这是缩点之后的,如果在a,b之间加一条边的话,从a->a和b的最近公共祖先节点-> ...

2018-11-23 17:46:38 241

原创 连通图的桥(对桥和割点的理解)

题目链接:https://cn.vjudge.net/problem/UVA-796顺便总结一下,对于连通图的桥和割点。首先,从tarjan的角度来说,dfn数组代表的是当前节点的编号,也就是时间戳,low数组代表的是当前节点能够到达的最早的时间戳(一定要注意是时间戳)。打个比方,1->2->3,low【3】=1,。然后具体tarjan的过程,我理解的就是,就是不停的dfs,然...

2018-11-21 19:50:48 3362 4

原创 F - Debate CodeForces - 1070F 思维

题目链接:https://vjudge.net/problem/CodeForces-1070F具体思路:首先把所有的00放进去,然后对于10 和01 的取两个数目最小值t,排完序后将前t个加起来,然后再将剩余的看作一类,求一个最大加的数目就可以了。关于为什么看作一类,第一个原因,剩下的的构成只能是只有00 ,或者(00,10)或者(01,00)或者(10)或者(01),这样就好分清楚剩下...

2018-11-21 15:23:17 171

原创 E - Is It A Tree? 并查集判断是否为树

题目链接:https://vjudge.net/contest/271361#problem/E具体思路:运用并查集,每一次连接上一个点,更新他的父亲节点,如果父亲节点相同,则构不成树,因为入读是2,然后再去遍历每一个点的父亲节点,判断一下祖宗节点有几个,只有1个才能构成树,注意0 0也是树.。。AC代码:#include<iostream>#include<st...

2018-11-20 08:54:48 132

原创 D - Frog and Portal (利用斐波那契数列的性质)

题目链接:https://cn.vjudge.net/contest/270201#problem/D具体思路:利用斐波那契数列的性质,斐波那契数列可以构成任何正整数,所以按照顺序减下去肯定能减到0.斐波那契数列  1 1 2 3 5 8 13 21 。。。。。比如说给你一个20,先减去13,还剩7,然后再减去5,然后再减去2,这样就行了。并且减去的位置不是相邻的。对于这个题来说,要反...

2018-11-19 11:55:41 285

原创 大数加法(SDUT“斐波那契”串)4335

题目链接:https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2697/pid/4335.html具体思路:倒着相加,具体看代码AC代码:#include<iostream>#include<stack>#include<iomanip>...

2018-11-19 11:14:12 200

原创 网络流前向星模板

题目链接:https://cn.vjudge.net/problem/HYSBZ-1001AC代码:#include<iostream>#include<stack>#include<queue>#include<iomanip>#include<stdio.h>#include<cstring>#inc...

2018-11-18 11:53:00 162

原创 [Gym-100625J] 搜索

题目链接:https://cn.vjudge.net/problem/Gym-100625J具体思路:首先,具体思路是两个人一起走到一个点,然后两个人按照同样的道路走出去,听了别人的思路,还有一种特殊情况需要考虑,就是中间一堵墙,两个人都直接在边界上,这个时候可以新加一个点,然后两个人到这个点的开门数都是0,然后三个搜索,新加的点到图里面所有能走的点的最小路径,两个人分别到达图内的点和新加的点...

2018-11-17 15:58:08 142

原创 sg函数&&子状态的讨论

题目链接:https://cn.vjudge.net/contest/269933#problem/H具体思路:首先,这是一个公平的比赛,并且是两个人参与,两个人都足够聪明,并且可以通过有限步结束比赛,所以可以通过sg函数解决,注意这个题的不同,假设当前的某一堆堆数是5,如果分成每堆为2,他的子状态是2 2 1,和之前做过的子状态不同,之前做的题拿掉的就相当于扔掉了,而这个题并没有。#i...

2018-11-16 16:27:12 145

原创 线段树区间覆盖和区间累加的区别

区间覆盖:题目链接:https://vjudge.net/contest/269834#problem/DAC代码:#include<iostream>#include<string>#include<cstring>#include<iomanip>#include<cmath>#include<stack...

2018-11-15 22:09:36 1147 2

原创 次小生成树 克鲁斯卡尔

题目链接:https://cn.vjudge.net/contest/67265#problem/D具体思路:这个题如果用prim的话,对于重边,如果用数组是存不了的,所以可以通过克鲁斯卡尔算法求次小生成树。首先,求出最小生成树,在求最小生成树的过程中,记录下都有哪些边被记录到了最小生成树上,然后再试着求次小生成树。每一次取最小生成树上的一条边,去除这条边,然后再跑一下克鲁斯卡尔算法,...

2018-11-14 17:56:53 170

原创 python 第二章 对象与类型

可变对象和不可变对象1,可变对象,list(列表),dict(字典),集合(set),字节数组。2,不可变对象,数值类型,字符串,字节串,元组(具体形式 ())。注意条件:可变和不可变指的是该对象指向的内存是否可以改变。当修改不可变对象的时候,它会重新复制一份,然后再改变相应的值,原来的那一分就会相当与垃圾被去除。>>> print(id(aee))14037...

2018-11-14 11:58:02 144

原创 第三章 运算符与表达式

数字对象的运算 “//”代表整除,对int和float都适用,“/”代表正常的除法,有余数对于复数,区域和截取除法是无效的>>> 3//21>>> 3/21.5>>> 1.5//0.35.0>>> 1.5/0.35.0>>> 1.5//0.43.0>&am

2018-11-14 11:57:54 225

原创 第八章 编程题

1.# -*- coding:utf-8 -*- # file: FileMerage.py ##os模块中包含很多操作文件和目录的函数 import os #获取目标文件夹的路径 meragefiledir = os.getcwd()+'\\MerageFiles' #获取当前文件夹中的文件名称列表 filenames=os.listdir(meragefiledir) #打...

2018-11-14 11:57:43 271

原创 线段树区间染色+注意事项

题目链接:https://vjudge.net/contest/269834#problem/E具体思路:用线段树储存每个区间的颜色,然后再打一个染色的标记,注意最后统计的时候,相邻区间的不注意的话会被算成两种。如果按照我一开始的思路的打,(1,4)这个区间,(5,8)这个区间,如果(1,4)的颜色和(5,7)的颜色相同,但是如果(5,8)是一个混色的时候,这个时候会被统计成两个颜色,其实是只...

2018-11-13 00:19:14 908

原创 ACM-ICPC北京赛区2018重现赛 A题

题目链接:http://hihocoder.com/contest/icpcbeijing2018/problem/1具体思路:dfs,判断矛盾就可以了。AC代码:#include<iostream>#include<string>#include<cstring>#include<iomanip>#include<alg...

2018-11-11 21:36:55 1030

原创 python 输出 a+b

AC代码:单组输入:s=input().split()print(int(s[0])+int(s[1])) 

2018-11-10 17:31:01 3532

原创 求次小生成树

题目链接:https://cn.vjudge.net/contest/67265#problem/C具体思路:和判断最小生成树是否唯一的思路差不多,首先跑一遍最小生成树,在求最小生成树的过程中记录任意两个点之间的最大权值,然后试着暴力,如果有一条边没有在最小生成树上,那么就先加上这条边的权值,再去减去两个端点之间的最大权值,求一个最小值,这就是次小生成树。AC代码:#include&...

2018-11-10 16:56:11 239

原创 判断最小生成树是否唯一

题目链接:https://vjudge.net/contest/67265#problem/B具体思路:首先,跑一遍最小生成树,然后在求最小生成树的过程中,记录任意两个城市之间的最大边权,然后再暴力,枚举任意两个城市,然后如果这两个城市在最小生成树上有直接边相连,套用公式,(q[i].num+q[j].num)/(mst- road[i][j]),如果没有直接边相连,就套用公式(q[i].nu...

2018-11-10 16:10:07 214

原创 二分法求最优值

题目链接:https://cn.vjudge.net/problem/ZOJ-4062具体思路,二分法求最大值,然后看当前的值是不是符合情况,然后求出一个最优值。AC代码:#include<iostream>#include<string>#include<cstring>#include<iomanip>#include&lt...

2018-11-10 15:19:28 1086

原创 线段树+ 区间更新

题目链接:https://cn.vjudge.net/problem/HDU-4614又是一个改了两天的代码。。。。原来数组开小了也会报超时。具体思路:按照区间更新的思路打就可以了,不过有很多可以优化的地方,具体见代码。AC代码:#include<iostream>#include<string>#include<cstring>#inc...

2018-11-08 22:08:52 135

原创 2018ICPC青岛赛区J题

题目链接:http://acm.zju.edu.cn/onlinejudge/showRuns.do?contestId=1这题真的坑,为什么要买0本书的时候,书架里面刚好有价格为0的时候输出“Richman”,难道不应该是“Impossible”吗??你肯定是要从头开始来一遍的,我觉得应该是不可能,,被这个题给卡住了。。。AC代码;#include<iostream>...

2018-11-05 18:50:39 240

原创 循环矩阵+矩阵快速幂

题目链接:https://vjudge.net/problem/UVALive-3704具体思路:用一维数组表示二维数组。AC代码:#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<cmath>#includ...

2018-11-02 19:55:57 354

空空如也

空空如也

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

TA关注的人

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