自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [解题报告] 2018多校第四场B题 HDU-6333 莫队

题意是给你T个n,m求C(n,m)的前缀和。定义S(n,m)为前缀和,则考虑已知S(n,m)的情况下能得到什么式子。经过一番简单推导可得:S(n,m)=S(n,m-1)+C(n,m)以及S(n,m)=2*S(n-1,m)-C(n-1,m)。因此我们可以用O(1)的时间转移。因此考虑莫队算法。以前对莫队算法的理解局限在了区间询问,这题开了眼界了233#include<iostre...

2018-08-01 22:14:10 271

原创 Codeforces-983E (Round483 Div1) NN country 树上倍增+树状数组

大意:有一棵树,有m条线路,给出q个询问u->v最少通过几条线路到达。解法:贪心求u和v到lca最少跳几次,然后判最后一次是否通过同一条线路到达。通过倍增法到达logN级别,最后的特判是用树状数组达到logN级别。对于每一个节点,其子树代表的区间为dfn[v]到dfn[v]+sz[v],对于需要特判的一组(u,v),在dfs到u的时候把起点为u的路的终点+1,相当于有一条路从u戳到某一...

2018-05-22 10:11:49 512

原创 HDU4793 计算几何

题意:固定一个勋章,然后有一个大圆,用一个硬币从一个点发射,给定方向,可能与勋章产生动量守恒的碰撞。问与大圆相交的时间。思路:解析几何搞一搞就出来了。首先判一下是否会碰到大圆,然后就用点到直线的距离和两个三角形辅助搞一搞。。图画一下就出来了。就是大三角形的直角边减去小三角形的直角边乘以二这样。好像可以写的更简洁一点不过反正都过了233AC代码:#include<iostream>#i...

2018-05-03 16:55:12 363

原创 POJ-3349 Snowflake Snow Snowflakes 水题

题意:有n个雪花,每片雪花6个长度,当且仅当两片雪花对应位置的数字相同时为相同的雪花,雪花可以顺时针旋转、翻折。比如1 2 3 4 5 6 和 1 6 5 4 3 2 或者 2 3 4 5 6 1是相同的雪花。思路:把每片雪花的顺时针序和逆时针序共12个取字典序最小的存下来。然后只要sort一下n个雪花序列然后找有没有相同的即可。/* time:2532ms memory:3000kB*/...

2018-04-24 12:26:01 407

原创 UVA-13094 Tobby Bones 分块

题目大意:有一个长度为n的序列,初始全为0,有m个操作,0是更新a[n]=val,1是查询[l,r]区间内小于等于S的数的个数。因为没想到怎么用树状数组/线段树来维护。。然后想了想分块可做。分块后,每次更新只要给当前块排序,复杂度查询的过程只要特殊处理两端的两个块,特判一下是否在同一个块内即可。复杂度调试了一万年最后发现只要初始化成无穷就行了mmp。。。#include<iostream&g...

2018-04-10 20:18:50 293

原创 BZOJ3439 KPM的MC密码 字符串哈希

题目大意:有n个字符串s1~sn,n个数k1~kn,求以si字符串为后缀的所有字符串中第ki个字符串的编号。看样例解释就很容易理解了,不做赘述。学习了大佬的字符串哈希解法。。原地址。。想法是把每一个后缀哈希,然后记录每个后缀的字符串编号。然后把每个后缀编个号,存储一下每个编号的哈希值,用链表存储和查找。#include<iostream>#include<string>...

2018-04-10 14:28:17 306

原创 UVA12345 带修改的莫队

题目大意:给你[0,n-1]的序列,有m个操作,Q l r询问[L,R-1]区间内的不同的数字的个数,M x y为修改a[x]=y。思路:利用可修改的莫队,将(L,R,x)作为三元组进行分块。L的块作为第一关键字,R的块作为第二关键字,第x次修改作为第三关键字。每一次扩展区间后模拟修改过程。俗话说得好 莫队就是分块之后暴力乱搞233#include<iostream>#include...

2018-03-29 22:04:30 307

原创 BZOJ 3289 莫队算法+树状数组

大意是询问将每个询问区间里的数恢复成有序最少需要的移动次数(只能相邻的两个数交换)学习莫队算法的练习题。俗话说得好啊 莫队就是分块之后暴力乱搞233假设已知[L,R]区间需要交换的次数,计算[L-1,R]需要交换的次数即为在[L-1,R]区间内有几个数比a[L-1]小,只需要加上这些数的个数即可。同理计算[L,R+1]找的是比a[R+1]大的数的个数。注意区间扩张和缩小时区间长度的小细节。利用树状...

2018-03-27 14:00:55 286

原创 BZOJ4373 算数天才⑨和等差数列 学习zkw线段树

膜一下zkw神犇  另外fread真的快。。题目:http://www.lydsy.com/JudgeOnline/problem.php?id=4373大意:给你一个n的数列,每次查询一段区间[l,r]内的数字排序后是否构成公差为k的等差数列。并且有修改操作。思路:难点就在于判断是否构成等差数列。我们可以用平方和的方式,Hash一下,然后和等差数列平方和公式算出来的值进行比对,如果不一致那么说明...

2018-03-25 12:45:47 277

原创 【解题报告】BZOJ1858 裸线段树

给定n个0/1,m个操作,操作1是区间清零,操作2是区间置1,操作3区间0/1互换,操作4查询有多少个1,操作5查询最多有多少个连续的1。一看就是线段树,维护一段区间的前趋后继和最多连续1以及sum即可。debug了好久发现自己pushdown写错了一句话。心痛,本来一小时的事情(敲代码还是慢啊)#include#include#include#include#include

2017-11-21 15:04:54 255

原创 【解题报告】Kattis - adjoin 树形dp

题目大意:有n个点,m条边,形成2颗以上的树,为了加上若干条边使得整个图连通后任意两点之间的最长距离最短,求该最短的最长距离。解题思路:用树形dp求出初始每棵树中最长的链,最终答案只有两种情况,两点分别在两棵树上或两点在同一棵树上。如果两点在两棵树上,则将每棵树最长链的长度从大到小排序,计为a1,a2,a3...an,答案为(a1+1)/2+(a2+1)/2+1和a2+a3+2。因为我

2017-10-18 12:13:07 546

原创 【解题报告】HDU-4614 Vases and Flowers 线段树+二分

题目大意:给出n个点从0~n-1排成一条线,然后又m条命令,k=1就是从某个点开始插多少话进去,k=2就是把l到r之间的花扔掉。。换成程序员的语言就是k=1就查询第一个插入点和最后一个插入点,k=2就查询区间插了多少花。查询差了多少花没什么难度,关键是找第一个和最后一个插入点,显然用二分查找。#include #include #include#include using name

2017-05-30 19:35:34 417

原创 【解题报告】POJ-2528 Mayor's posters 线段树+离散化

题目大意:有一面一千万长的墙,往墙上贴海报,海报的宽度给出。问最后一共能看到几面海报。第一反应必然是线段树,但是一千万的线段树必然超内存,所以要离散化。因为我们其实只需要用到海报开始和结束的那两个位置。这道题的难点在于如何离散化。如果按照每个点来离散,会出现问题。就用其他题解给出的例子:如(1,10),(1,4),(6,10)。离散完就是1234四个叶子结点。那么更新(1,4)

2017-05-18 21:26:45 505

原创 【解题报告】UVA10603 Fill BFS

最近做最短路专题训练,做了这道题。某秃子告诉我可以用优先队列优化一下,不过细想了一下似乎也没有优化太多。。这道题的核心是把三个杯子的水量和当前已经倒得水量作为一个状态,从一个状态到下一个状态,用bfs寻找所有可能的状态。因为要求距离d最近的水量d',所以在判断的时候也要下一番功夫。当然了,剪枝是必要的。如果到达的这个状态用的水量比之前到达的时候用的多的话就不会进入队列。PS:另外如果不使用

2017-05-06 11:13:24 482

原创 【解题报告】UVALive 3938 线段树深入使用

这道题说给n个数,每一次给一段区间求区间最大子段和。简单分析吧,求区间最大子段和一般使用dp,但是这题的查询最多可以有50W个,每次都重新算必定超时。那么就想着要把数据存下来,那么存什么呢?传统的线段树每一个节点会存当前区间我们需要的值,比如max值sum值等,但是在这一题中,我们需要的是求最大子段和的值,但是我们没有必要把他存在节点中。为什么呢?因为查询区间极大概率不能使用一个节点来表示,那么当

2017-04-18 17:47:27 661

原创 2017-4-16 拉邦结派队同济校赛报告

2017年4月16日拉帮结派同济校赛分析李霄:这次的做题体验有点差,1点开始做题,快4点才能开始提交,5点就离场回学校了,实际能够debug的时间还是非常短的。在走之前有一次hack,hack前AC了4题,有两道题可能努力一下还是可以过的,但是hack以后不知道改了什么基本都跪光了,如果能有一个小时重新改的话可能也是可以过几道的。在这次比赛当中我和姚迟亮差不多是轮流写程序,一人

2017-04-16 22:39:06 535

原创 【解题报告】hdu1255 线段树+扫描线

这道题是紧跟着POJ1151做的,这道题和Atlantis唯一的区别就在于这道题求的是覆盖两次的面积。因为刚刚学习了扫描线,想着如何在原先的模板上进行一些修改来做这道题。我自己的想法是,原先求扫描线实际长度的时候,判断覆盖次数c>0,那么这次只要改为c>1即可。但是在实际操作中遇到了一些困难,因为原先计算的时候,如果线段1的y是从1到5,则我加入线段树的时候只会更新到最大的那个区间,不会一直更新到

2017-04-14 22:31:27 493

原创 【解题报告】POJ1151 扫描线+线段树(矩形求并)

先贴题目链接吧:http://poj.org/problem?id=1151今年刚参加完蓝桥杯,第十题就是一道扫描线求矩形面积并的问题,当时还没学习扫描线,有思路但是不会实现,于是花了两天时间好好的学习了一下扫描线。在网上找到了这道,可以说非常经典,也是非常基础的扫描线做法。先说思路,对于矩形求并问题,最直接的想法肯定是先把所有的面积加起来,然后减去重复的面积。但是这样做,当矩形数量增多,

2017-04-14 18:11:45 1069

空空如也

空空如也

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

TA关注的人

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