洛谷P2434 [SDOI2005]区间】的更多相关文章

P2434 [SDOI2005]区间 题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列.这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<=b<c<=d. 请写一个程序: 读入这些区间: 计算满足给定条件的不相交闭区间: 把这些区间按照升序输出. 输入输出格式 输入格式: 第一行包含一个整数n,3<=n&l…
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列.这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<=b<c<=d. 请写一个程序: 读入这些区间: 计算满足给定条件的不相交闭区间: 把这些区间按照升序输出. 输入输出格式 输入格式: 第一行包含一个整数n,3<=n<=50000,为区间的数目.以下n…
[题解] 鲜活的大水题... 把区间排个序然后瞎搞就可以了,发现现在区间的左端点比之前区间的最大的右端点还大,那就增加一个答案区间.每次更新目前最大右区间. #include<cstdio> #include<algorithm> #define N 200010 #define rg register using namespace std; int n,m,tot; struct rec{ int l,r; }a[N],ans[N]; inline int read(){ ,f…
洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, j)得到.考虑使用区间dp 题目中项链为环形,所以在2 * n的区间上进行操作 设dp[i][j],表示区间(i, j) 的最大值 转移为 dp[i][j] = max(dp[i][j], dp[i][k] + dp[k+1][j] + pre[i] * succ[k] * succ[j]); 老…
BZOJ5259/洛谷P4747: [Cerc2017]区间 2019.8.5 [HZOI]NOIP模拟测试13 C.优美序列 思维好题,然而当成NOIP模拟题↑真的好吗... 洛谷和BZOJ都有,就不设密码了. 首先,手玩样例可以发现满足条件的区间是不满足单调性的,所以二分左右端点.单调队列.双指针什么的就不可能了. 然后不会了... 不难看出,一段满足要求的区间[L,R],符合\(val_{max}-val_{min}=R-L\),val是数值. 50pts暴力:对val建st表,每次询问枚…
洛谷P1712 [NOI2016]区间 noi2016第一题(大概是签到题吧,可我还是不会) 链接在这里 题面可以看链接: 先看题意 这么大的l,r,先来个离散化 很容易,我们可以想到一个结论 假设一个点被覆盖次数大于m 我们将覆盖这个点的区间升序排序: 则所选区间一定是排序后序列中的一个长度为m+1的连续子序列 证明很容易,取更远的点会使最大值更大从而使差值最大 我们可以从这个结论出发,再观察该题所求,符合尺取法的思路 我们考虑用尺取法求解 没了解尺取法的读者可以去自行了解一下 如何求解呢?…
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列.这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<=b<c<=d. 请写一个程序: 读入这些区间: 计算满足给定条件的不相交闭区间: 把这些区间按照升序输出. 输入输出格式 输入格式: 第一行包含一个整数n,3<=n<=50000,为区间的数目.以下n…
P1890 gcd区间 题目提供者 洛谷OnlineJudge 标签 数论(数学相关) 难度 普及/提高- 题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表示a[1]..a[n]. 以下m行,每行2个整数表示询问区间的左右端点. 保证输入数据合法. 输出格式 共m行,每行表示一个询问的答案. 输入输出样例 输入样例#1: 5 3 4 12 3 6…
To 洛谷.2879 区间统计 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with th…
本题的贪心策略是以区间起点位置由小到大排序,然后开始合并. 区间按起点顺序由小到大排序,可以最大化合并成功的可能. 这个脑补应该不难想出来.(读者自证不难 直接上代码: #include <bits/stdc++.h> using namespace std; struct interval { int start_,end_; } a[50010];//定义一个结构体 方便排序 int n; inline bool cmp(interval a,interval b) { return a.…
题目背景 我们现有许多演讲要在阶梯教室中举行.每一个演讲都可以用唯一的起始和终止时间来确定,如果两个演讲时间有部分或全部重复,那么它们是无法同时在阶级教室中举行的.现在我们想要尽最大可能的利用这个教室,也就是说,我们需要在这些演讲中选择一些不重复的演讲来举行使得他们用的总时间尽可能的长.我们假设在某一演讲结束的瞬间我们就可以立即开始另一个演讲. 题目描述 请写一个程序: 读入所有演讲的起始和终止时间: 计算最大的可能演讲总时间: 输入输出格式 输入格式: 第一行包括一个正整数n,n<=10000…
题目描述 给定一行n个正整数a[1]..a[n].m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m.第二行n个整数表示a[1]..a[n].以下m行,每行2个整数表示询问区间的左右端点.保证输入数据合法. 输出格式: 共m行,每行表示一个询问的答案. 输入输出样例 输入样例#1: 5 3 4 12 3 6 7 1 3 2 3 5 5 输出样例#1: 1 3 7 说明 对于30%的数据,n <= 100, m <=…
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列.这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<=b<c<=d. 请写一个程序: 读入这些区间: 计算满足给定条件的不相交闭区间: 把这些区间按照升序输出. 输入输出格式 输入格式: 第一行包含一个整数n,3<=n<=50000,为区间的数目.以下n…
题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表示a[1]..a[n]. 以下m行,每行2个整数表示询问区间的左右端点. 保证输入数据合法. 输出格式: 共m行,每行表示一个询问的答案. 输入输出样例 输入样例#1: 5 3 4 12 3 6 7 1 3 2 3 5 5 输出样例#1: 1 3 7 说明 对于30%的数据,n <= 100, m…
P1890 gcd区间 题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表示a[1]..a[n]. 以下m行,每行2个整数表示询问区间的左右端点. 保证输入数据合法. 输出格式: 共m行,每行表示一个询问的答案. 输入输出样例 输入样例#1: 复制 5 3 4 12 3 6 7 1 3 2 3 5 5 输出样例#1: 复制 1 3 7 说明 对于3…
传送门 题目大意: n头牛,其中最高身高为h,给出r对关系(x,y) 表示x能看到y,当且仅当y>=x并且x和y中间的牛都比 他们矮的时候,求每头牛的最高身高. 题解:贪心+差分 将每头牛一开始都设为最高高度. 每一对关系(x,y),我们将[x+1,y-1]这个区间的身高变为 min(x,y)-1.这样是不对了.因为要维护[x+1,y-1]这个区间里 各个元素的大小关系,所以要将[x+1,y-1]的元素身高都减1. 一开始我是用线段树做的,后来发现题解用的差分. 没有询问的区间修改,差分做就好了…
题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列.这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<=b<c<=d. 请写一个程序: 读入这些区间: 计算满足给定条件的不相交闭区间: 把这些区间按照升序输出. 输入输出格式 输入格式: 第一行包含一个整数n,3<=n<=50000,为区间的数目.以下n…
题目:https://www.luogu.org/problemnew/show/P3205 枚举点,分类为上一个区间的左端点或右端点,满足条件便+=即可: 注意不要重复(当l=2时). 代码如下: #include<iostream> #include<cstdio> using namespace std; int n,h[1005],dp[1005][1005][3],p=19650827; int main() { scanf("%d",&n);…
传送门 考虑将所有的区间按长度排序 考虑怎么判断点被多少区间覆盖,这个可以离散化之后用一棵权值线段树来搞 然后维护两个指针$l,r$,当被覆盖次数最多的点的覆盖次数小于$m$时不断右移$r$,在覆盖次数大于等于$m$时不断右移$l$,然后每一次用$len[r]-len[l]$更新答案,其中$len$表示该区间的长度 //minamoto #include<iostream> #include<cstdio> #include<algorithm> #define inf…
P1463 [SDOI2005]反素数ant 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都是反质数. 现在给定一个数N,你能求出不超过N的最大的反质数么? 输入输出格式 输入格式: 一个数N(1<=N<=2,000,000,000). 输出格式: 不超过N的最大的反质数. 输入输出样例 输入样例#1: 1000 输出样例#1: 840思…
问题描述 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x,使得对于每一个被选中的区间 [li,ri],都有 li≤x≤ri. 对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度.区间 [li,ri] 的长度定义为 ri−li,即等于它的右端点的值减去左端点的值. 输入格式 第一行包含两个正整数 n,m用空格隔开,意义如上文所述.保证 1≤m…
P1890 gcd区间 题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数. 输入输出格式 输入格式: 第一行两个整数n,m. 第二行n个整数表示a[1]..a[n]. 以下m行,每行2个整数表示询问区间的左右端点. 保证输入数据合法. 输出格式: 共m行,每行表示一个询问的答案. 输入输出样例 输入样例#1: 5 3 4 12 3 6 7 1 3 2 3 5 5 输出样例#1: 1 3 7 说明 对于30%的数据,…
正解:线段树 解题报告: 传送门$QwQ$ $umm$很久以前做的了来补个题解$QwQ$ 考虑给每个区间按权值($r-l$从大往小排序,依次加入,然后考虑如果有一个位置被覆盖次数等于$m$了就可以把权值最大的那个删去直到被覆盖次数小于$m$,顺便更新答案 然后就做完辣!$QwQ$ 放下代码趴,然后因为是去年的代码了所以码风可能有点丑,,,懒得改了$QwQ$ $over$ #include <iostream> #include <cstdio> #include <algor…
\(\mathcal{Description}\)   Link.   给定长度为 \(n\),仅包含小写字符的字符串 \(s\),\(m\) 次询问,每次询问一个子串 \(s[l:r]\) 的本质不同子串数量.   \(n\le10^5\),\(m\le2\times10^5\). \(\mathcal{Solution}\)   有种常见的离线技巧:类似扫描线,从左至右枚举右端点 \(r\),维护 \([1..r,r]\) 的答案.为了让 \(s[1:r]\) 里的每个子串都尽量参与贡献,可…
OJ检测链接:https://www.luogu.org/problem/show?pid=2335 题目描述 现在我们给出一个n*m的单色位图,且该图中至少含有一个白色的像素.我们用(i, j)来代表第i行第j列的像素,并且定义两点p1=(i1, j1)和p2=(i2, j2)之间的距离为: d(p1, p2)=|i1 - i2| + |j1 – j2| 任务: 请写一个程序: 从文本文件BIT.IN中读入该位图: 对于每个像素,计算出离该像素最近的白色像素与它的距离: 把结果输出到文本文件B…
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都是反质数. 现在给定一个数N,你能求出不超过N的最大的反质数么? 输入输出格式 输入格式: 一个数N(1<=N<=2,000,000,000). 输出格式: 不超过N的最大的反质数. 输入样例#1: 1000 输出样例#1: 840 这道题很明显要找到的是不大于n的约数数最多的数里面最小的因为…
要点 处于什么位置的题常用一个套路就是搞完\([l,r]\)以后处于0(l)或1(r)的状态,即\(dp[i][j][0/1]\). 对于此题dp意义为已经搞完\([l,r]\)的时最小的已耗电能,转移:以在\(i\)处为例,只会是\(i+1\)处直走过来或者\(j\)处掉头过来两种.写就很好写了. #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const i…
[题解] 因为这道题中n比较小,n^2效率是可以接受的. 枚举两个矩形,如果它们有重叠部分,就用并查集合并一下即可. #include<cstdio> #include<algorithm> #define N 8000 #define rg register using namespace std; int n,fa[N],ans; struct rec{ int x,y,xx,yy; }a[N]; inline int read(){ ,f=; char c=getchar()…
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都是反质数. 现在给定一个数N,你能求出不超过N的最大的反质数么? 输入输出格式 输入格式: 一个数N(1<=N<=2,000,000,000). 输出格式: 不超过N的最大的反质数. 输入输出样例 输入样例#1: 1000 输出样例#1: 840 题解:即求一个1到n以内的数,使得这个数有最多…
洛谷P3374 //询问区间和,支持单点修改 #include <cstdio> using namespace std; ; struct treetype { int l,r,sum; }; treetype a[*maxn]; int num[maxn]; void build(int k,int l,int r) { a[k].l=l;a[k].r=r; if (l==r) { a[k].sum=num[l]; return; } ,i=k<<; build(i,l,mid…