自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POJ - 2991 - Crane

题目来源:http://poj.org/problem?id=2991线段树经典题目。线段树内保存五个量,区间左右端点left,right。该向量(区段起点终点首尾相连所得的向量)x,y的值。lazy标记(角度累加量)add。线段树应支持:对区段内的所有向量的方向角全部+v的操作。设原向量为(x,y),顺时针偏转角度为v,则偏转后的向量(x',y')=(x*cosv+y*sinv,...

2018-07-31 20:31:49 305 2

原创 POJ - 3734 -- Blocks

题目来源:http://poj.org/problem?id=3734用a[i]表示前i块红色与绿色全为奇数的方案数。b[i]表示前i块红色与绿色全为偶数的方案数。c[i]表示前i块红色与绿色的块数一奇一偶的方案数。因此转移方程可以表示为:a[i]=2*a[i-1]+0*b[i-1]+1*c[i-1]b[i]=0*a[i-1]+2*b[i-1]+1*c[i-1]c[i]=2*a...

2018-07-31 10:02:05 186

原创 POJ - 3367 -- Hotel

题目来源:http://poj.org/problem?id=3667线段树中存放六个元素:左右端点left,right。左端点向右延伸后的最大长度cl,右端点向左延伸后的最大长度cr。区间内的最大连续长度maxl。lazy操作的标签add。从上向下更新,如果覆盖段就打lazy标记,遍历到有lazy标记的线段就将lazy标记pushdown一层。从下向上两两合并,最大连续长度可能来自左...

2018-07-30 21:39:19 300

原创 POJ 3468 -- A Simple Problem with Integers ( 树状数组做法 )

题目来源:http://poj.org/problem?id=3468线段树做法:https://blog.csdn.net/moon_sky1999/article/details/78428165详解树状数组区间修改、查询操作的博客:https://ahackh.ac.cn/2017/06/25/%E8%89%AF%E5%BF%83%E8%AF%A6%E8%A7%A3%E6%A0%...

2018-07-30 14:48:54 400

原创 POJ 3233 -- Matrix Power Series

题目来源:http://poj.org/problem?id=3233分块矩阵+矩阵快速幂。代码:#include <algorithm>#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <vecto...

2018-07-30 13:30:57 96

原创 POJ 2549 -- Sumsets

题目来源:http://poj.org/problem?id=2549给出集合S,找出元素a,b,c,d,满足a+b+c=d。由于n的最大值为1000,不可能将a,b,c,d全部枚举出。由于a + b = d - c 我们可以提前预处理出所有 x+y和x-y,然后进行二分查找。为避免重复,需记录每个x和y,然后进行验证。代码:#include <cstdio>...

2018-07-29 19:57:41 169

原创 HDU - 2795 -- Billboard (树状数组做法)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2795线段树做法:https://blog.csdn.net/moon_sky1999/article/details/81274186刚开始做这道题的时候,思路大概是二分+线段树维护区间最大值,二分区间[1,r]的右端点r,查询其最大值验证是否满足题意,直到得到最小的r,将a[r]取走。O( ...

2018-07-29 19:37:55 311

原创 HDU - 2795 -- Billboard

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2795树状数组做法:https://blog.csdn.net/moon_sky1999/article/details/81274345线段树做法,复杂度O ( n log n ):维护区间最大值,对于每次查询,如果左半段区间的最大值满足题意,就向左查询,否则向右。代码:#inc...

2018-07-29 19:13:12 189

原创 CodeForces 813C The Door Problem

题目来源:http://codeforces.com/problemset/problem/776/D思路来自:https://blog.csdn.net/black_miracle/article/details/57083033对每个开关i,有两种状态,即开或不开。可以用i表示开,i+m表示不开。对于每个门,与门相连的两个开关为a和b,若门的状态为1,则(a,b) (a+m,b+m...

2018-07-28 20:16:59 183

原创 POJ 1182 - 食物链

题目来源:http://poj.org/problem?id=1182并查集经典题目。思路来自:https://blog.csdn.net/niushuai666/article/details/6981689代码:#include <bits/stdc++.h>using namespace std;const int maxn=5e4+10;int n,k,d,...

2018-07-28 15:53:36 134

原创 POJ - 3977 Subset

题目来源:http://poj.org/problem?id=3977首先N<=35,2^N枚举会超时。但我们可以将N个数字分成两部分,每一部分的所有子集最多为2^18<3e5,因此可以将所有子集求出,然后枚举+二分查找即可得到结果。代码:#include <cstdio>#include <iostream>#include <cs...

2018-07-28 10:10:54 127

原创 POJ 2566 - Bound Found

题目来源:http://poj.org/problem?id=2566刚开始做的时候没什么思路,看别人的博客学会的:https://www.cnblogs.com/iiyiyi/p/5962512.html因为所需的是区间的为绝对值,所以sum[r] - sum[l-1] == sum[l-1] - sum[r] 。因此只需要找合适的<l,r>。当前缀和为有序时,尺取法可以...

2018-07-27 21:55:25 141

原创 POJ 3276 —— Face The Right Way

题目来源:http://poj.org/problem?id=3276类似尺取法,不过需要优化到O(n^2)。用一个c记录该位置被翻转的次数。代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <stri...

2018-07-27 08:50:53 140

原创 POJ 3579 —— Median

题目来源:http://poj.org/problem?id=3579二分答案+尺取。首先想到要对数列进行排序。先二分差值的中位数x,然后找出小于x的所有差值的个数以及所有大于x的差值的个数,这个过程可以用尺取法。同时统计出差值=x的差值个数t。若t=0,则这个mid不可能是答案。代码:#include <iostream>#include <cstd...

2018-07-26 11:07:41 239

原创 Gym - 100712I - Bahosain and Digits

题目来源:http://codeforces.com/gym/100712反转(开关问题)的变式。要先从0~9枚举最终状态下的所有数字。然后从大到小验证所选分段是否可行。假设所选的段长为x,因为最左侧的那一位只能属于[0,x]这一段,因此便可从第一位开始确定,依次向右一位一位进行操作,如果可以将全部位置上的数字均转变为所要的数字,则x可行。代码:#include <bi...

2018-07-24 16:47:49 157

原创 codeforces 671B - Robin Hood

题目来源:http://codeforces.com/problemset/problem/671/B题目大意:给定n个数,每次可执行一次操作,将最大的数-1,最小的数+1。最多可执行k次。问最小的极差为多少。思路:  对n个数求取平均数,由于操作一定是从大于平均数的数中抽取,将数转至小于平均数的数中。因此可以对最大值和最小值进行二分,验证在k次操作之内能否将所有数修改为全部大于(小于...

2018-07-24 15:59:27 240

原创 HDU-5144 NPY and shot

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=5144三分+物理。首先,对于固定的高度H与初速度v,投掷距离与投掷方向(与水平面的夹角)x有关。由物理知识知,x在[0,π/2]区间取值时,距离dis一定存在一个最大值,因此可以使用三分法求取。对于不同的x,dis的表达式可以推得dis=( sqrt( 2*g*h+v*v*sin(x)*...

2018-07-24 11:09:58 125

原创 Gym - 100712L - Alternating Strings II

题目来源:http://codeforces.com/gym/100712/attachmentsdp+线段树维护。f[i]表示[1,i]区间内最少要切多少次。f[i]=min(f[j])+1,(i-k=<j<=i-1,[j+1,i]满足条件)。j若从i-1开始至i-k循环,若出现"00"或"11"的情况则开始更新。可以用前缀和sum[i]来维护[1,i]中出现"00"或"...

2018-07-23 09:02:05 161

原创 Gym - 100712H - Bridges

题目来源:http://codeforces.com/gym/100712/attachments先用tarjan找出所有桥,计数。tarjan得到的树另存,如果边是桥,那么边权为1,否则为0。跑两次dfs得到树的直径(权值最大),用桥的总数-直径的值,即为结果。代码:#include <bits/stdc++.h>using namespace std;in...

2018-07-22 21:30:54 167

原创 HDU1269 迷宫城堡

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1269强连通分量裸题。用Tarjan求出图中的强连通分量,判断其大小是否为n即可。代码:#include <bits/stdc++.h>using namespace std;int n,m;const int maxn=10010;int cur=0;vector&...

2018-07-20 13:26:58 175

原创 2018第九届山东省ACM——B Bullet

题目来源:https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/4215.htmlBulletTime Limit:1000 msMemory Limit:65536 KiBSubmitStatisticDiscussProblem DescriptionIn GGO, ...

2018-07-18 22:24:57 344

空空如也

空空如也

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

TA关注的人

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