E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
PA2015
bzoj 4293: [
PA2015
]Siano 线段树
题意有n棵草,一开始高度均为0。每棵草有一个生长高度a[i],有m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。求每次收割得到的草的高度总和是多少。n,m#include#include#include#includeusingnamespacestd;typedeflonglongLL;constintN=500005;intn,m;LLa[N],sum[N]
SFN1036
·
2020-08-18 09:06
线段树
【BZOJ4293 】【
PA2015
】Siano(思维+线段树区间覆盖与线段树上二分)
有个弟弟性质,一开始没注意到,就是所有草的高度排名是永远不变的有了这个性质后,很容易想到将原序列通过二分找到那个临界点。然后全局加,答案是右半边的和减去原本的和。再对右边进行区间覆盖注意,代码细节很多,比如线段树上二分,只需要维护一个max就能省很多事,还有pushdown时,f与cover标记的处理不是常规的先f在cover,原因留给你们思考一下。#include#definereregiste
Patrickpwq
·
2020-08-18 08:58
bzoj 4293: [
PA2015
]Siano(线段树)
4293:[
PA2015
]SianoTimeLimit:30SecMemoryLimit:256MBSubmit:452Solved:159[Submit][Status][Discuss]Description
Jaihk662
·
2020-08-18 08:42
#
线段树or树状数组
【BZOJ4293】Siano(
PA2015
)-线段树+二分
测试地址:Siano题目大意:有nnn片草,第iii片草每天长高aia_iai米,mmm次操作,每次操作在第ddd天把所有草高于某个数bbb的部分割掉,求每次割下的草的高度和。做法:本题需要用到线段树+二分。挺神的一道题…注意到每次割草,被割的草都不一定是一个区间,很难处理,因此想到通过某种办法把每次操作的修改变成一个区间。观察发现,在任何时刻,aia_iai大的草的高度一定不会比aia_iai小
Maxwei_wzj
·
2020-08-18 07:32
数据结构-线段树
算法-二分
【bzoj4291】【
PA2015
】【Kieszonkowe】【贪心】
Description给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和。Input第一行包含一个正整数n(1#includeusingnamespacestd;intn,a[1000001],cnt,ans,x,temp,minn(9999999);intmain(){scanf("%d",&n);if(n==1){scanf("%d",&x);if(x%2==1)cout<<"N
sunshinezff
·
2020-08-18 02:41
贪心
BZOJ 4296
PA2015
Mistrzostwa
题目大意:给定一张无向图,求一个点集最大的诱导子图使得:1.每个点的度数都≥d2.诱导子图连通将所有度数不足d的点都加入队列每次取出队头,将队头相邻的点度数减掉1,如果减掉后度数变成了d−1那么将这个点加入队列输出剩余点的最大连通块即可#include#include#include#include#defineM200200usingnamespacestd;structabcd{intto,n
PoPoQQQ
·
2020-08-17 20:59
BZOJ
【
PA2015
】【BZOJ4291】Kieszonkowe
Description给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和。Input第一行包含一个正整数n(1#include#include#include#include#defineMAXN1000100usingnamespacestd;intn,top,num,sum;inta[MAXN];voidin(int&x){charch=getchar();x=0;while(!
CreationAugust
·
2020-08-17 19:33
随便搞搞
[
PA2015
]-BZOJ4291 to 4296板刷记
说在前面并没有什么想说的,但是要保持格式=w=CSDN最近一直换界面,BUG频出不止……还me代码缩进!!KieszonkoweBZOJ4291传送门题面给定NN个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和范围:N≤106,ai≤1000N≤106,ai≤1000解法撒币贪心qwq下面是代码#include#include#includeusingnamespacestd;intN,
泉華子
·
2020-08-17 18:53
水题
贪心
线段树
------数论------
BZOJ4292
PA2015
Równanie 【暴力水题】
BZOJ4292PA2015RównanieDescription对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足ausingnamespacestd;#definefu(a,b,c)for(inta=b;ab)break;if(i*k
Dream_Maker_yangkai
·
2018-09-19 11:51
c++
BZOJ
[
pa2015
]Fibonacci 解题报告
考虑斐波那契数列模n的循环节,设其长度为L(n)。(这个东西有个学名叫thePisanoperiod)显然,若n=pq((p,q)=1),则L(n)=lcm(L(p),L(q))。所以我们就可以将n分解成若干pk的乘积考虑。对于L(pk)(p是质数,k>1),有一个猜想:L(pk)=L(p)pk−1。(参考资料,据说是一个叫D·D·Wall的人在1960年猜的)而对于这道题,模2的循环节是3,模5
TA201314
·
2016-04-19 09:00
数论
DFS
矩阵乘法
4296: [
PA2015
]Mistrzostwa|图的联通
上来就看错题,是选出来的点集联通,不是让剩下的点联通。。。然后这不就是SB题么。。把该删的点都删去,然后找一个最大的连通图。#include #include #include #include #include #include #include #include #include #include #defineN400022 usingnamespacestd; intsc() { inti
ws_yzy
·
2016-03-14 10:00
【
PA2015
】【BZOJ4297】Rozstaw szyn
Description给定一棵有n个点,m个叶子节点的树,其中m个叶子节点分别为1到m号点,每个叶子节点有一个权值r[i]。你需要给剩下n-m个点各指定一个权值,使得树上相邻两个点的权值差的绝对值之和最小。Input第一行包含两个正整数n,m(2 #include #include #include #include #defineMAXN500010 #defineLLlonglong #def
CreationAugust
·
2016-03-04 10:00
重构图
bzoj4293: [
PA2015
]Siano
这题搞了我一晚上……因为某些傻X的问题……窝这状态真是药丸TAT这个题嘛……大家的题解都说线段树,时限也开了30s明摆着告诉你是nlogn……不过我们发现a[i] #include #include #include #definelllonglong #defineN1000006 usingnamespacestd; inlinellread(){ llret=0;char
wangyurzee
·
2016-02-28 11:00
【线段树】【二分】[
PA2015
][BZOJ4293]Siano
题目Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗?Input第一行包含两个正整数n,m(1 #in
u010850027
·
2016-02-27 23:00
C++
线段树
二分
bzoj
PA2015
【
PA2015
】【BZOJ4296】Mistrzostwa
Description给定一张n个点m条边的无向图,请找到一个点数最多的点集S,满足:1.对于点集中任何一个点,它至少与d个点集中的点相邻。2.仅保留点集中的点后,剩下的图连通。Input第一行包含三个正整数n,m,d(2 #include #include #include #include #defineMAXN200010 #defineGET(ch>='0'&&chnext)if(!del
CreationAugust
·
2016-02-25 11:00
连通块
【
PA2015
】【BZOJ4294】Fibonacci
Description众所周知,斐波那契数列F满足:F[0]=0,F[1]=1,F[m]=F[m-1]+F[m-2](m>=2)现在给出一个数字串S,请找到一个k使得F[k]以S为结尾。Input包含一行一个数字串S,S的长度不超过18。Output输出满足条件的数字k,且k需要满足0#include#include#include#include#defineMAXN20#defineLLuns
CreationAugust
·
2016-02-25 09:58
随便搞搞
丧心病狂
奇怪的姿势
【
PA2015
】【BZOJ4294】Fibonacci
Description众所周知,斐波那契数列F满足:F[0]=0,F[1]=1,F[m]=F[m-1]+F[m-2](m>=2)现在给出一个数字串S,请找到一个k使得F[k]以S为结尾。Input包含一行一个数字串S,S的长度不超过18。Output输出满足条件的数字k,且k需要满足0 #include #include #include #include #defineMAXN20 #defin
CreationAugust
·
2016-02-25 09:00
数学
爆搜
Fib数列的性质
【
PA2015
】【BZOJ4293】Siano
Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗?Input第一行包含两个正整数n,m(1 #incl
CreationAugust
·
2016-02-24 08:00
线段树
BZOJ4293 [
PA2015
]Siano(线段树)
传送门这Seg确实不好写,不过因为它与ai的相对顺序无关,所以,我们在对ai排序之后,就可做了。维护一个区间最大值,维护一个和,维护一个区间赋值的懒标记,再维护一个时间变化的标记就可以了。因为不论怎样在排序过后的序列里面右边的一定不小于左边的,所以我们可以在线段树里面二分来找到每一次操作的开始位置,然后就可以区间修改了。#include #include usingnamespacestd; #d
u010850027
·
2016-02-20 11:00
【线段树】【树】[BZOJ4293][HYSBZ4293][
PA2015
]Siano
题目描述注:此题为BZOJ的权限题目Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗?Input第一行
JeremyGJY
·
2016-02-19 23:00
算法
权限
线段树
bzoj
PA2015
bzoj4291.Kieszonkowe(大根堆 && 贪心)
(
PA2015
)给定n个数,请从中选出若干个,使得总和为偶数,求最大的总和首先因为数据都是正数,所以偶数都加进去,把奇数放入大根堆中,然后每次取最大的前两个奇数加入答案,知道堆中没有数,或只剩下一个奇数
ALXPCUN
·
2015-11-04 10:19
bzoj 4292: [
PA2015
]Równanie
Description对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足a 2#include 3#include 4usingnamespacestd; 5intmain() 6{ 7longlongk,a,b,cnt=0; 8scanf("%lld%lld%lld",&k,&a,&b); 9for(inti=1;ib)bre
philippica
·
2015-10-19 00:00
bzoj 4291: [
PA2015
]Kieszonkowe
Description给定n个数,请从中选出若干个数,使得总和为偶数,请最大化这个总和。 Input第一行包含一个正整数n(1 2#include 3#include 4usingnamespacestd; 5intmain() 6{ 7intn; 8scanf("%d",&n); 9longlongx,ans=0,min_odd=20000; 10for(inti=1;i<=
philippica
·
2015-10-18 23:00
BZOJ 4292
PA2015
Równanie 枚举
令f(n)为n在十进制下每一位数字的平方和,求[a,b]区间内有多少n满足k∗f(n)=n容易发现最大的f(n)不会超过9∗9∗18=1458,因此我们枚举f(n),O(logn)Check即可#include #include #include #include usingnamespacestd; longlongk,a,b; intF(longlongx) { intre=0; while(
PoPoQQQ
·
2015-10-09 13:00
bzoj
BZOJ4292
BZOJ 4296
PA2015
Mistrzostwa
题目大意:给定一张无向图,求一个点集最大的诱导子图使得:1.每个点的度数都≥d2.诱导子图连通将所有度数不足d的点都加入队列每次取出队头,将队头相邻的点度数减掉1,如果减掉后度数变成了d−1那么将这个点加入队列输出剩余点的最大连通块即可#include #include #include #include #defineM200200 usingnamespacestd; structabcd{
PoPoQQQ
·
2015-10-09 12:00
bzoj
BZOJ4296
BZOJ 4292([
PA2015
]Równanie-数学)
对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足a usingnamespacestd; #defineFor(i,n)for(inti=1;i=k;i--) #defineRepD(i,n)for(inti=n;i>=0;i--) #defineForp(x)for(intp=Pre[x];p;p=Next[p]) #defineForpi
nike0good
·
2015-10-09 07:00
【BZOJ】【P4292】【
PA2015
】【Równanie】【题解】【暴力】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4292尝试用手机写代码...枚举f(n)暴力Code:#include usingnamespacestd; typedeflonglongll; intsqr(intx){returnx*x;} intcalc(llx){ inta=0; while(x)a+=sqr(x%10),x/=10
u012732945
·
2015-10-03 20:00
【BZOJ】【P4291】【
PA2015
】【Kieszonkowe】【题解】【...】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4291总感觉见过……顺着记忆翻出了http://www.lydsy.com/JudgeOnline/problem.php?id=3721回头看了一下题……………………hhCode:#include usingnamespacestd; intmain(){ longlongsum=0; in
u012732945
·
2015-10-02 18:00
【bzoj4292】 [
PA2015
]Równanie 乱搞
嗯嗯,看到题果断数位dp。然而可以乱搞一下,枚举f(n),然后直接判断k*f(n)的f是不是f(n)不就好了吗?#include #include #include #include #include #include usingnamespacestd; longlonga,b,k; longlongans=0; intcal(longlongx) { intans=0; while(x)
u012288458
·
2015-10-01 19:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他