自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 UVA-11354

题意:最小瓶颈路,给出一张n个点m条边的无向图, 每条边有一个危险度,有q个询问, 每次给出两个点s、t,找一条路, 使得路径上的最大危险度最小。思路一:并查集(按秩合并),求一个最小生成树, 任意两点在生成树上有唯一路径, 而且这条路径上的最大危险值一定最小。 但是n和q都太大, 如果直接顺着树走,每次询问最大复杂度O(n), 那么复杂度高达O(n^2),会超时。 并查集在用了路径压缩之后效...

2019-05-31 08:46:30 375

原创 Educational Codeforces Round 62 F. Extending Set of Points 线段树分治+可撤销并查集

题意:有q次操作,每次操作 (x ,y),如果S集合有(x ,y),就删除这对数,如果没有就插入这对数,然后询问S集合在R规则下一共有多少对数(R规则:如果R集合中有(x1,y1) (x1,y2)(x2,y1),且没有(x2,y2),那么在计数的时候会加上(x2,y2)这对)。思路:我们仔细分析这个点加入的条件,很容易可以发现,对于一个点(x,y),相当于把第x行和第y列给合并。最后的答案...

2019-05-31 00:29:34 155

原创 hdu 6430 TeaTree 线段树合并

题意:一棵树上每个节点权值为v[i],每个节点的heard值是:以它为LCA的两个节点的GCD的最大值,要求输出每个节点的heard值分析:线段树合并,对每个节点建一棵线段树,第x个位置就表示v[i]有值为x的因子,只要2个节点有相同的因子就维护答案,每次都把所有子节点的线段树与父节点合并。写法是建立n个线段树,每个线段树保存的是该点权值的所有因数,线段树区间[l,r]表示区间l-r范围内最大...

2019-05-30 16:35:20 120

原创 2019年湘潭大学程序设计竞赛-G Truthman or Fakeman

题目:有n个人在玩一个身份扮演的游戏。把这n个人编号为1,2,3...n。其中每个人会扮演下面两种身份中的一种:Truthman:当某个人扮演Truthman时,这个人只会说真话。Fakeman:当某个人扮演Fakeman时,这个人只会说假话。这n个人是互相知道身份的,但是Casya作为一个旁观者不知道任何一个人的身份。为了让Casya有可能推断这些人的身份,这n个人说了m句话。每...

2019-05-30 15:16:50 217

原创 Miku and Generals-西安邀请赛

题目:https://nanti.jisuanke.com/t/39271题意:给你n个权值 然你分成两组 使他们的权值和的差最小 ,其中有些点是相互矛盾的,不能分在同一组。分析:所有点都是100的倍数,可以直接除以100,我们二分图染色,每个联通块只有两种情况,因为确定了一个点的所属集合,相邻点就都确定了,而且只有两个集合,然后dp记录所有组合构成的值,dp[i]表示当前这个差值能不能到...

2019-05-30 11:24:41 160

原创 The 2019 ACM-ICPC China Shannxi Provincial Programming Contest C.Angel's Journey

题意:T(T<=500)组样例,每组样例给出rx,ry,r,x,y(-100<=rx,ry,x,y<=100,0<r<=100)代表被救的人在(rx,ry-r)位置,且(rx,ry)为圆心有一个半径为r的圆你从圆外(x,y)出发,题目保证y>ry,y=ry及这条水平线以下的圆外部分是海,圆内部也是海,都不能经过问(x,y)到(rx,ry-r)...

2019-05-30 09:00:21 327

原创 CSU 2167

题意:初始有n*m的点,矩形排列。有2种操作,第一种是将第i行的所有点联通(a<=i<=b),第二种是将第i列的所有点联通(a<=i<=b)。每次操作后输出有多少个联通块。分析:在纸上画一下图,可以发现答案跟a,b所跨水平和垂直区间有关,如图,假设nn为水平方向所占用的区间,mm为垂直方向所占的区间,且共有n行m列,则它是把mm×m+nn×n-nn×mm个点连通成一个点...

2019-05-29 13:46:13 348

原创 HDU 6540

题意:给你一棵树,树上有一些重要的点,让你选一个只包含重要的点的点集,满足点集里最远的两个点不超过k,问有多少种选法。分析:dp[i][j]表示在i这颗子树中距离i点最远点距离为k的方案数。考虑如何从子树转移,显然 我们遍历到一颗新子树时,要用之前的所有方案乘以这颗子树的方案来更新。即dp[u][max(i,j+1)]+=dp[u][i]*dp[to][j],暴力更新的复杂度是k^2的,居然...

2019-05-28 20:37:32 398 1

原创 HDU 6538

题意:给你n个点,选四个点构成四边形,求四边形的面积最大最小值的两倍。分析:先将点按照x为第一关键词y为第二关键词从小到大排序,然后我们开始取向量,并将所取的所有向量进行极角排序。第一条向量的两个端点在之前排序过的点的序列中是相邻的。这样的序列保证在序列的第一个点到向量的左端点的点距离这条直线单调递减,右侧也一样,那么我们考虑当我们旋转坐标系的时候,画图可知,受影响的点只有之前那条向量上的点,...

2019-05-28 11:26:07 507

原创 CDQ分治总结

CDQ主要用来解决多维偏序问题,只能用来处理离线问题,复杂度为O(n*(logn)^d),d为总维度。理解CDQ分治的关键点:1、只有前面的修改操作会影响后面的查询操作。2、对于位置相同的操作,要先修改后查询。3、递归底层打乱顺序后不影响上层。入门参考:https://www.cnblogs.com/mlystdcall/p/6219421.htmlhttps://www....

2019-05-27 16:28:52 171

原创 HDU 5126

题意:一共有Q(1<=Q<=50000)组操作,操作分为两种:1.在x,y,z处添加一颗星星,2.询问以(x1,y1,z1)与(x2,y2,z2)为左上和右下顶点的矩形之间的星星数,所有坐标取值范围均为[1,1e9]。思路:CDQ分治模板题,x,y,z和时间四维,是个四维带修改的偏序问题,所有操作按默认时间排序,将每个查询操作拆分为8个(容斥),再进行两次分治。第一次分治:将q中每...

2019-05-27 16:18:36 213

原创 P1903

题目:https://www.luogu.org/problemnew/show/P1903分析:主席可以做,也可以用动态(带修改)莫队,模板题。参考博客:https://www.cnblogs.com/zwfymqz/p/7154145.htmlhttps://blog.csdn.net/wu_tongtong/article/details/77924765注意:对于n和m同级...

2019-05-24 22:46:55 222

原创 SPOJ Count on a tree II

题意:给定一个n个节点的树,每个节点表示一个整数,问u到v的路径上有多少个不同的整数。分析:树上莫队模板题,利用欧拉序将树上路径转化为序列,注意我们询问的区间长度为2∗N,所以预处理的时候一定要循环到2∗N。参考博客:https://www.cnblogs.com/zwfymqz/p/9223425.htmlhttps://blog.csdn.net/qq_39759315/artic...

2019-05-24 11:05:39 138

原创 hdu1506

问题:有N条的长条状的矩形,宽度都为1,第i条高度为Hi,相邻的竖立在x轴上,求最大的子矩形面积。1≤ N≤ 1051≤ Hi≤ 109分析:我们只需要求出每条矩形最多可以向两边拓展的宽度,就可以算出以这个矩形高度为高的最大子矩形面积。最后我们求一个最大值即可。这里可以用dp或者笛卡尔树。笛卡尔树关键在于构造。笛卡尔树的构造方式为:首先我们按照横坐标从左往右进行处理,同...

2019-05-23 22:42:30 432

原创 POJ 2201

题目:笛卡尔树:笛卡尔树中的每个节点有两个数据域k,a,对于数据域k,满足二叉搜索树性质,对于数据域a,满足最小堆性质。给出N个节点,1<=N<=50000,每个节点由一对k,a构成,判断能否根据这些节点构建一颗笛卡尔树,如果可以构建则输出构造出的笛卡尔树,否则输出“NO”。解题思路:首先,根据N个节点,肯定可以构造出一颗笛卡尔树。参考博客:https://www.cnblog...

2019-05-23 21:51:31 187

原创 CodeForces 660F

题意:给定一段数列,现在叫你取其中一段,第一位*1,第二位*2...求最大。思路:sum[n]=a[1]+a[2]+...a[n],原先的dp[n]=a[1]*1+a[2]*2+a[3]*3+..a[n]*n;那么现在的max[i]=max:dp[i]-dp[j]-(sum[i]-sum[j])*j; =-sum[i]*j+j*sum[j]-dp[j]+dp[i]可以斜率优化,由于K=s...

2019-05-23 20:53:14 187

原创 HDU 3507

题意:就是要输出N个数字a[N],输出的时候可以连续连续的输出,每连续输出一串,它的费用是 “这串数字和的平方加上一个常数M”。分析:我们设dp[i]表示输出到i的时候最少的花费,sum[i]表示从a[1]到a[i]的数字和。于是方程就是:dp[i]=dp[j]+M+(sum[i]-sum[j])^2;很显然这个是一个二维的。题目的数字有500000个,不用试了,二维铁定超时了,需要使用斜率优...

2019-05-23 20:14:47 318

原创 fread 快速读入挂

struct FastIO { static const int S = 1e7; int wpos; char wbuf[S]; FastIO() : wpos(0) {} inline int xchar() { static char buf[S]; static int len = 0, pos = 0; ...

2019-05-23 11:10:25 931

原创 ZOJ 3941

题意:有n(10)段时间,会举行party,每个party有开始时间,结束时间,不同party举行时间可能重复。(时间范围为1~1e9)我们一共最多可以参加m(1e9)party。同时有一个参数K(1e9),一旦我们在第i天参加了party,我们会连续K天(即[i,i+K-1]天范围内)都happy。问你我们如何安排参加party的时间,可以使得我们拥有尽可能多天数是happy的分析:首先,我...

2019-05-22 21:48:38 696

原创 HDU 6233

题意:一个树上有m个人,每个人在某个节点上,每个时刻每个人可以和一个与他距离大于 1 的点进行交流,然后往交流的人的方向走一步,当他一个人没有可以交流的人时就不可以走了,问所有人都不走的期望时间是多少。题解:这题分析下就知道是求某一对最远的距离,也就是树的直径,由于点数很少暴力也行代码参考:https://www.cnblogs.com/scaulok/p/9715746.html...

2019-05-22 12:17:27 230

原创 HDU 6241 Color a Tree

题意:给你一棵树,然后让你对树上的节点进行黑白染色。然后染色有一些要求,对于A类要求,要求在x的子树中,至少有y个节点被染成了黑色;对于B类要求,要求在树的所有节点除了x以及其子树节点外,至少有y个节点被染成了黑色。初始状态树是白色的,现在问你,最少给多少个节点染成黑色之后,能够满足所有的A、B类要求。思路:二分最后的染成黑色的节点数目,然后判定这个答案是否可行。对于A类要求,相当于直接对节点...

2019-05-22 11:37:12 343

原创 HDU 6230

题意:字符串S【1,3n-2】 中以 位置n(C1)和2n-1(C2)为回文串中心,长度都为n,找出给出的主串中有多少这样的子串分析:首先用manacher求出以每个点为中心的回文串半径,考虑每个点作为C1时,有多少位置作为C2可以组成字符串S.那么对于答案,实际就是统计满足下列条件(i,j)的对数i <= jj - i <= len[i]j - i <= le...

2019-05-22 11:08:31 587

原创 HDU 6242

题意:给你N个点,然你找到一个点以及一个半径,相当于是找到一个圆,然后至少有一半的点都在圆上。思路:3个点可以确定一个圆,只要每次随机三个点然后来确定一个圆,再判断这个圆是否可行。因为至少有一半的点是在圆上,所以随机的次数是非常少的。对于小于5个点的要直接特判。代码:#include<bits/stdc++.h>using namespace std;const int...

2019-05-21 21:59:34 324

原创 HDU 6231

题意:给你数列A,对于A的每一个区间,求第K大,插入到数列B中,最后再求数列B的第M大。解题思路:二分+尺取。对于当前答案,如果当前答案作为第K大的区间的总数大于M,则实际答案要比当前答案大,反之则小。统计答案作为第K大的区间个数用尺取,注意尺取法的细节问题。代码:#include<bits/stdc++.h>using namespace std;typedef l...

2019-05-21 21:48:27 274

原创 HDU 5886

题目:N个点的一棵带权树。切掉某条边的价值为切后两树直径中的最大值。求各个边切掉后的价值和(共N-1项)。思路:预处理出最长链,若断边不在最长链上,那么答案依旧是最长链,否则分别计算断开后的最长链,取最大值。参考:https://www.cnblogs.com/zufezzt/p/5892342.html,https://blog.csdn.net/hao_zong_yin/article...

2019-05-17 21:58:17 467

原创 hdu 5890

题意: 现在给你n个数,每次查询问从点集中删去 x,y,z 三个数,你要从其他的剩下的数中能否找出10个数使得十个数相加为87?思路: 背包来做,由于n 比较小,所以我可以预先处理出所有的情况,然后用bitset 优化。代码:#include<bits/stdc++.h>using namespace std;bitset<90>dp[11];int n...

2019-05-16 21:27:33 217

原创 hdu5887

题目:n个物品,时间限制m,给出每个物品的价值和时间,求在m限制内,最多的价值。思路:大容量背包问题,采用贪心+搜索+剪枝的方法,先对所有的物品按贡献(w/v)进行排序, 当搜到第u个点时,第u+1个在剩下的贡献是最大的. 如果剩下空间的全部放 u+1物品都无法大于当前的答案,则剪去。代码:#include<bits/stdc++.h>using namespace s...

2019-05-16 20:44:28 196

原创 HDU 6483

题意:有长度为nn的数组,对于一个子区间[l,r][l,r]内,存在最大值mxmx与最小值mimi,有qq的询问,每个询问要求判断在某个子区间[l,r][l,r]内[mi,mx][mi,mx]的值是否连续存在,即mi,mi+1,....,mxmi,mi+1,....,mx每个数都出现过至少一次。T=5,1<=n<=10000,1<=ai<=109,1<=m&lt...

2019-05-16 20:00:01 402

原创 HDU 6485

题目:给你一个k和两个字符串,从两个字符串中各选出一个等长的子串,要求这两个子串上相同位置上不同元素的个数不能超过k,求选出的子串的最大长度是多少。思路:枚举A的子串的起点去匹配B串,枚举B串子串的起点去匹配A串。匹配的时候尺取法去匹配,复杂度O(n^2*T)。代码:#include <bits/stdc++.h>using namespace std;typedef...

2019-05-16 19:42:35 324 1

原创 HDU 5880

思路:AC自动机的模板题。可是这个题目给的数据范围特别大,算一下空间复杂度,直接超内存了。注意这里不要用memset一次性清空数组,超内存是一次性memset数组导致的,将没有用的空间也用上了,于是试了下不一次性memset数组,果断不超了。每一次匹配成功,做出相应标记时,要标记整个匹配的串的范围,最后一遍扫过去即可。详见代码。代码只是提供大致思路。TLE代码:#include <...

2019-05-16 18:53:45 252

原创 AC自动机模板

#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 2*1e6+9;int trie[maxn][26]; //字典树int cntword[maxn]; //记录该单词出现次数int fail[maxn]; //失败时的回溯指针int cnt ...

2019-05-16 18:49:03 182

原创 HDU 5884

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5884题目大意:给你n个序列,将其合并为一个,每次合并序列的花费为所合并子序列长度的和,先给你总花费t,问每次最少合并多少个子序列。思路:很容易想到二分+贪心的办法,需要特别注意:假如枚举的 k,那么每次合并消耗的是 k−1个,最后合并完后剩下一个,所以总消耗是 n−1 个,如果 (n−1)%(...

2019-05-15 07:50:22 221

原创 仅需1/5成本:TPU是如何超越GPU,成为深度学习首选处理器的

原文

2019-05-13 21:07:37 379

原创 谷歌Colaboratory笔记本使用教程,用免费云资源训练自己的机器学习模型

参考文章参考视频

2019-05-13 21:05:15 613

acm训练体系

acm训练方案,从入门到精通,包括每个阶段该学的知识和对应知识点的题目,题目都是精心筛选过的,质量绝对有保证。

2019-05-07

acm知识思维导图

acm知识图谱,包括了acm竞赛设计的所有数据结构与算法,还有一些技巧和方法。

2019-05-07

音乐播放器

项目功能点: 1.从本地导入歌曲(单个文件导入或者文件夹批量导入)。 2.播放歌曲、暂停、停止、上一首、下一首、删除歌曲。 3.音量调节。 4.音乐进度调节。 5.歌词的展示,可以同步进度条的变化,呈现对应时间的歌词。 6.网上爬取歌词,如果本地存在歌词文件,直接使用本地文件,不存在则从网上爬取。 7.播放MV。 8.音乐分享。 9.音乐评论。 10.音乐收藏。 11.用户歌单。(保存到mysql) 12.后台播放。(隐藏到任务栏) 13.最近播放。 14.任意选择播放模式。(单曲循环、随机播放、列表循环) 15.登录注册。(正则验证)

2017-12-14

空空如也

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

TA关注的人

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