自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 个人博客

lilingj.github.io

2020-11-04 19:30:43 121

原创 leetcode 410. 分割数组的最大值

题目链接: https://leetcode-cn.com/problems/split-array-largest-sum/题目: 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。思路: 想半天什么dp,其实就是个常见二分。首先确定答案肯定在avg(nums)到sum(nums)之间,确定上下界,然后二分逼近,对每一个mid值,看能不能分出满足题意的来代码:class Solution { public

2020-07-25 11:07:58 142

原创 剑指 Offer 04. 二维数组中的查找

题目链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/题意:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路: 把矩阵分成四块,右下角块的所有元素都比左上角的块大,一般来说,每次都可以淘汰1/4的元素。这样,每次都将大矩阵分为四块,将target不可能在的那块淘汰,对剩下

2020-07-24 15:30:26 146

原创 下一个排列(或:next_permutation函数实现)

题目链接:https://leetcode-cn.com/problems/next-permutation/题意:给出一个排列(数组),返回它的下一个排列。如果给出的是最后一个排列,那么返回该数组的第一个排列。思路:c++里有这个函数,next_permutation。直接用就没意思了,其实实现它很简单。我们可以手写1 2 3 4 的全排列试试,看看有什么规律。实际上,我们发现,一个...

2020-04-19 18:17:47 728

原创 无重复字符的最长子串

题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/看了LeetCode上的代码,很简洁,证明容易,但是想不到他是怎么想出来的。这题单给代码没啥意义,重要的是思索过程,是怎么分析的?定义 dp[ j ],是以字符 s[ j ] 为结尾的最长无重复字符串。如果我能求得dp数组...

2020-04-18 20:16:55 160

原创 回文串算法(中心扩展法、Manacher算法)

题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/submissions/题目:返回给定串的最长回文子串。为了方便分析,用字 '#’ 表示空字符,那么对于字符串 s = "aabcdefg",可以表示成 _s = "#a#a#b#c#d#e#f#g#"。显然,对于长度为n的字符串s,可能的回文串的中心有n ...

2020-04-18 17:40:54 1238

原创 常识:开机时发生了什么

电脑能做的无非是取指,执行。我们知道内存(RAM)掉电后存储内容就会消失,那电脑通电后如何运行呢?计算机通电时,ip初始值由硬件设计者决定,而ip初始值指向的内存区域固化了一段代码,计算机会取指执行这段代码,检查RAM、键盘、显示器、软硬磁盘,并将磁盘0磁道0扇区(引导扇区)读入内存,开始执行这段代码。...

2020-03-08 15:28:32 174

原创 python学习

生成器send方法python协程yield from讲解

2020-02-01 15:11:09 86

原创 书荒阁小说爬取

把dir改成书荒阁某本小说目录,name改为保存文件名字,就可以爬下来了from bs4 import BeautifulSoupimport requestsheaders={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0...

2020-01-01 12:12:43 342

原创 超简单的python实现的html编辑器

有段时间删了电脑里的乱七八糟的软件,各种IDE也没了,学python的时候感觉用记事本敲代码还挺爽,就是敲完得改后缀,有点麻烦,遂用了IDLE。现在准备学web,有时候敲敲html,不想下IDE,都是写完txt改html,然后用Chrome打开,现在自己用python写了一个自动完成这个过程的:from tkinter import *import osdef func(text): ...

2019-12-26 17:06:01 2406

原创 codeforces1204 C. Anna, Svyatoslav and Maps (floyd)

题目链接:http://codeforces.com/contest/1204/problem/C题目解法:用dis(i,j)来表示i到j的最短路,若dis(i,k)+dis(k,j)==dis(i,j),那么k可以删掉。#include <bits/stdc++.h>using namespace std;typedef long long LL;const int inf...

2019-09-17 21:46:50 108

原创 CF #580 Div. 2 D. Shortest Cycle//floyd求最小正环

题目链接:http://codeforces.com/contest/1206/problem/D题目解法:1、题目数据范围是long long ,64位,去掉值为0的节点(值为零的节点不会和任何节点相连)后, 剩下的数超过64*2个,那么一定有环,且最小环长度为3。2、否则,用Floyd跑最短路,对于第k个节点,1到k-1的节点已经算出最短路,枚举其中任意两个 不相同的节点i,...

2019-09-16 20:41:29 118

原创 第 44 届 ACM/ICPC 亚洲区域赛(沈阳)网络赛 C题

题目链接:https://nanti.jisuanke.com/t/41401官方题解:完全背包加枚举,设 f[i]表示恰好买 i 单位的水最少花费的价格(如果无法恰好买 i 单位则赋值无穷大)因为题目要求的是至少买 m 单位水的质量所花的最大价格,并且答案价格小于1e4,所以在用完全背包求出所有的 f[x](1<=x<=1e4)后 从 m 开始往后更新答案即可: 若 ans...

2019-09-14 19:22:30 4902

原创 2019牛客暑期多校训练营(第十场)Coffee Chicken

题目链接:https://ac.nowcoder.com/acm/contest/890/B思路:dfs初始值为6 7的斐波那契数列,到56个就超过了1e12,58、60、62……的前1e12个字母都是第56个的前1e12个字母,59、61,、63……的前1e12个字母都是第57个的前1e12个字母对于小于等于57的,f(n,s,t)表示输出第n个串从s到t的字母,那么f(n,s,t)=f(...

2019-08-18 12:17:32 203

原创 2019牛客暑期多校训练营(第十场)Hilbert Sort

题目链接:https://ac.nowcoder.com/acm/contest/890/E思路:递归首先给一个方块里的四个小方块编号:0123其次数据结构采用链表,每个节点存一个(x,y)对于一个2k*2k大方块,我们将链表分为四个小链表,每个链表里的数据分属自己的小块。如果我们知道他四个小方块的优先级,比如对于初始的大方块,优先级显然是0->2->3->1,如果s...

2019-08-18 12:06:38 164 1

原创 hdu1069

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069这个博客写得很好:https://blog.csdn.net/lttree/article/details/26606947#include <bits/stdc++.h>using namespace std;int N,dp[205];struct rec{ int...

2019-08-02 10:47:59 105

原创 free 2019牛客暑期多校训练营(第四场)

题目链接:https://ac.nowcoder.com/acm/contest/884/J可以建图后,把原图复制k+1份,叠成k+1层,对于原图,如果u和v有边,那么每两层之间,下层u连一条边到上层v,下层v连一条边到上层u,这样,从第一层S跑最短路,统计每一层T的值,取最小,就是答案。第一层的T,代表没有边被置0,第二层的T,代表一条边被置0,每上一层相当于将一条边置0,第k+1层就将k条边...

2019-07-28 15:19:01 164

原创 meeting 2019牛客暑期多校训练营(第四场)

题目链接:https://ac.nowcoder.com/acm/contest/884/A用给的那些点建树,求树的直径就行昨天就做了一个,不想搞acm了,我真佩服我竟然能坚持到现在。。。#include <bits/stdc++.h>using namespace std;const int maxN=1e5+5;int N,K,x[maxN],dis[maxN];in...

2019-07-28 10:47:20 223 2

原创 poj2536 二分图

n个鼠m个洞,每个洞只能进一个鼠,鼠统一速度v,s秒后鹰来,没进洞的全被抓,问最少被抓几个鼠//#include <bits/stdc++.h>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>using namespace std;...

2019-07-27 11:52:12 120

原创 POJ 2239

课程编号为一个集合,q*10+p为另一个集合,求二分图最大匹配,我用的匈牙利算法。有个不错的博客讲这个:https://blog.csdn.net/dengheCSDN/article/details/77619308总结一下,如果n个女生每个都对几个男生有好感,怎么把他们分配成几对,保证每对女生都对男生有好感且对数最多。对于一个女生,分配一个她有好感的男生给他,如果这个男生每分给别人,就分给...

2019-07-25 10:49:05 122

原创 2019牛客暑期多校训练营(第一场)E-ABBA

链接:https://ac.nowcoder.com/acm/contest/881/E用dp[i][j]表示i个A,j个B的答案#include <bits/stdc++.h>using namespace std;typedef long long LL;const LL mod=1e9+7;const int maxN=2e3+5;LL dp[maxN][maxN]...

2019-07-22 15:08:25 131

原创 hdu6570 简单dp

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6570dp[i][j]表示,目前为止,以j i为循环节,i结尾的wave有多长,明显dp[i][j]=dp[j][i]+1#include <bits/stdc++.h>using namespace std;typedef long long LL;LL dp[105][105]...

2019-07-22 09:55:53 358 4

原创 poj2559

题目链接:http://poj.org/problem?id=2559解法:单调栈这个题是 https://blog.csdn.net/qq_41646772/article/details/96701780 的简化版,维护一个单调递增的栈,栈内存下标。这题没什么好说的,看代码就能明白#include <cstdio>#include <algorithm>#in...

2019-07-21 11:51:05 146

原创 019牛客暑期多校训练营(第二场)- H Second Large Rectangle

链接:https://ac.nowcoder.com/acm/contest/882/H解法:单调栈做法是,计算以每一行为底的最大矩形,可以得到每个矩形的长宽,这样就可以计算出次大矩形。枚举每一列i,对于每一列i的每一列,计算出i行j列处的值向上有多少个连续的1,即h[j],将h[j]加入到一个单调递增栈中,见代码最好手动模拟一下,比如:3 4001001100111计算到最后一行...

2019-07-21 11:08:39 97

原创 poj1050

题目链接:http://poj.org/problem?id=1050这是求最大子矩阵的一个问题,对于这个题,首先我们要知道怎么求一维最大子序列和。给你一个数组a,求其中连续一段a[i]+a[i+1]+……+a[j]最大:ans=-inf,sum=0for i=1->n if(sum>0)sum+=a[i] else sum=a[i] ans=max(ans,sum)那...

2019-07-20 20:53:41 79

原创 Equivalent Prefixes【2019牛客暑期多校训练营(第一场)A】

链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网做法:维护两个单调递增栈,如果两个单调栈内元素不等,那么就到此为止,输出长度实际上是找出当前元素左边的第一个小于等于它的值的位置,如果不同,就不行了。这个思想找几个样例手动模拟一下就明白了。这个题可以改一下,把最小值换成最大值,做法也应该换成维护两个单调递减栈#include <bi...

2019-07-20 11:10:12 75

原创 POJ 1330

又是个lca的板子题,比我之前写的两个还要简单。。。想起空间王者视频里那些评论:杀个人就发。。。我做个题就发。。。//#include <bits/stdc++.h>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int ...

2019-07-17 10:12:29 173

原创 1036 商务旅行

http://codevs.cn/problem/1036/还是个lca的板子题,继续一贯的写法#include <bits/stdc++.h>using namespace std;const int maxN=3e4+5;const int maxM=3e4+5;int N,M,ans[maxM];int pre[maxN],vis[maxN],dis[maxN];...

2019-07-15 14:27:17 138

原创 2370 小机房的树

http://codevs.cn/problem/2370/一个lca的板子题,和我上一次写的一个差不多。#include <bits/stdc++.h>using namespace std;const int maxN=5e4+5;const int maxM=8e4+5;int N,M,ans[maxM];int pre[maxN],vis[maxN],dis[ma...

2019-07-15 11:29:57 131

原创 hdu 2586

lca看着篇文章,写的挺好的https://www.cnblogs.com/JVxie/p/4854719.html#include <bits/stdc++.h>using namespace std;const int maxN=4e4+5;const int maxM=2e2+5;int N,M,ans[maxM];int vis[maxN],dis[maxN];i...

2019-07-14 19:24:15 196

原创 hdu 3639

tarjan缩点,每个点的权值是点包含的人数,反向建图,选出当老鹰的一定是在入度为零的点中,跑一边dfs算入度为零的点可以到达的所有点的权值加起来是多少,加起来最大的就是了注意去重边#include <bits/stdc++.h>using namespace std;const int maxN=5e3+5;const int maxM=3e4+5;int N,M;in...

2019-07-14 10:30:01 207

原创 hdu 1827

把一个强联通分量缩成一个点,点的话费是分量中所有点的话费的最小值,看新图中入度为0的点有多少个,把这些点的话费加起来就行#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <s...

2019-07-13 16:12:34 129

原创 HDU 1269

这是一个tarjan的模版题。我有个疑惑,看下面代码里的唯一一条注释。网上大都那么写,但这样写我总想不通到底有什么用,虽然两种写法都是对的,但是如果写成我这样的话,low值相同的点就在一个强联通分量中,不用开scc数组(看第二份代码)#include <iostream>#include <cstdio>#include <cstring>#includ...

2019-07-13 15:31:22 221

原创 UVA - 624

https://vjudge.net/contest/307651#problem/C就是一个01背包,不过要输出背包里最后装了什么。看代码,很简单#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;...

2019-07-13 11:05:44 101

原创 POJ - 3181

这个题我也不明白。但是学到了用两个数模拟大数的思想。想到大数,我第一个想到的肯定是用数组模拟,想不到这个。但其实我应该想得到的,因为汇编上两数相乘,高半部分和低半部分就保存再两个寄存器中,这个和汇编差不多。#include <iostream>#include <cstdio>#include <cstring>#include <algorith...

2019-07-13 09:36:59 168

原创 UVA - 674

https://vjudge.net/contest/307651#problem/J这个题我还是不咋明白,先放在这里,以后再看#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef lon...

2019-07-13 09:30:27 104

原创 HDU - 2546

先拿5元出来把最贵的买了,剩下的钱用01背包算可以买啥//#include <bits/stdc++.h>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int dp[1004],w[1004]...

2019-07-13 09:27:23 188

原创 POJ 3624

01背包//#include <bits/stdc++.h>#include <cstdio>#include <algorithm>using namespace std;typedef long long LL;int dp[20004];int N,M,w[4000],v[4000];int main(){ scanf("%d%d...

2019-07-13 09:24:55 263

原创 HDU 1712

n种物品,每种物品有很多个,价值不同,任取几种,每种只能取一个,问最大价值是多少。这题就是在01背包下多加了个循环,会01背包再看这个就很容易明白//#include <bits/stdc++.h>#include <iostream>#include <cstdio>#include <cstring>#include <algor...

2019-07-13 09:22:01 72

原创 POJ - 1276

二进制分解成01背包#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <string>#include <vector>using namespace std;typedef long long ...

2019-07-13 09:15:34 97

空空如也

空空如也

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

TA关注的人

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