一直找不到好的题去做...于是想到了srm...回来补题...QAQ

从srm01补起

A

题意:n个数,排成一列,刚开始都是1,如果左右相等就可以合并,问最后的数列长什么样。

思路:比赛的时候直接敲了个 一直log2 直到为0,觉得应该是100的...于是炸到了90.

比完赛懒得调就没去理,回来补的时候发现是p的trunc有点问题哇...以后都打成trunc(x+0.000001) 出错率会低一点QAQ

 var n,s:longint;
begin
read(n);
repeat
s:=trunc(ln(n)/ln()+0.00001);
write(s+,' ');
n:=n-( << s);
until n=;
end.

A

B

题意:有m升油,n个数,可以用一升油数某一个数+1,再给一个mx 然后给 v1 v2 求 (v1*达到mx的数的个数+v2*整个数列的最小值)最大化。

思路:比赛的时候想的是拿部分分,然后弄不出来,然后觉得是二分,敲不出来,就拿到了10分。

补题的时候有一个新的思路,枚举达到mx的数的个数,然后再二分最小值。

然后check就贪心的弄,设达到mx的数的个数为num,二分到的最小值为x

然后贪心算需要的油就可以check了,但是这样要多一个n的复杂度。

显然o(n^2 logn)的复杂度是要tle的。

想想优化,由于贪心,所以已经先把原数列排序了,辣么就满足的单调性。

满足单调性就可以二分

所以求排序后的数列的前缀和,然后在二分里在套一个二分就好了

复杂度 o(n logn ^2)

 var a,b,c,sum:array[..]of int64;
n,mx,v1,v2:int64;
have,z:int64;
l,r,m:longint;
ans,num,ansmin,ansnum:int64;
i,j:longint;
procedure qs(l,r:longint);
var i,j,t,m:longint;
begin
i:=l;
j:=r;
m:=a[(l+r)>>];
repeat
while a[i]>m do inc(i);
while a[j]<m do dec(j);
if i<=j then
begin
t:=a[i];a[i]:=a[j];a[j]:=t;
t:=c[i];c[i]:=c[j];c[j]:=t;
inc(i);
dec(j);
end;
until i>j;
if l<j then qs(l,j);
if i<r then qs(i,r);
end;
function find(x:longint):longint;
var l,r,m:longint;
begin
l:=num+;
r:=n;
while l<=r do
begin
m:=(l+r) >>;
if a[m]>x then l:=m+ else r:=m-;
end;
exit(l);
end;
function check(x:longint):boolean;
var i:longint;
need:int64;
begin
need:=z;
i:=find(x);
inc(need,x*(n-i+)-(sum[n]-sum[i-]));
if need>have then exit(false) else exit(true);
end;
begin
read(n,mx,v1,v2,have);
for i:= to n do
begin
read(a[i]);
b[i]:=a[i];
c[i]:=i;
end;
qs(,n);
for i:= to n do
sum[i]:=sum[i-]+a[i];
for i:= to n do
begin
num:=i;
z:=mx*num-sum[num];
if z>=have then continue;
l:=;
r:=mx;
while l<r do
begin
m:=(l+r+)>>;
if check(m) then l:=m else r:=m-;
end;
if ans<num*v1+l*v2 then
begin
ans:=num*v1+l*v2;
ansnum:=num;
ansmin:=l;
end;
end;
writeln(ans);
for i:= to ansnum do
b[c[i]]:=mx;
for i:= to n do
if b[i]<ansmin then write(ansmin,' ')else write(b[i],' ');
writeln;
end.

B

C

题意:一个数列,支持两个操作,1.L~R 加上x   2.查询当前序列,如果从任意一个位置开始,两边严格递减的最大长度。

思路:比赛的时候完全没思路,暴力都不会打。

补题觉得可以线段树弄,每次维护区间最大长度,左边的值,右边的值,然后乱维护....QAQ

结果不会打。所以pass掉吧...

Contest-hunter 暑假送温暖 SRM01的更多相关文章

  1. Contest-hunter 暑假送温暖 SRM08

    01-07都没写...然后突然来写貌似有点突兀啊...不管了,难得前排记录一下... 吐槽一下赛制...不得不说很强... cf 套oi...很创新...不过还是兹磁ACM或者CF A-1 数据才2& ...

  2. bzoj4693: 雪中送温暖

    Description 每年的1月10日是温暖节,在这一天,化身出题人的C_SUNSHINE将会给OIer们送温暖.OIer们只要在门口放上一个 仙人掌,就能在早上的某个时刻听到门外传来一声:“开门, ...

  3. Contest Hunter 3101

    题目 Contest Hunter 3101 阶乘分解 原题传送门 题目分析 这里介绍一个本蒟蒻自己\(yy\)出来的方法. 我们发现,对于某一个单个的整数\(n\),若\(n\)能被某一个数\(x\ ...

  4. 【Contest Hunter【弱省胡策】Round #0-Flower Dance】组合数学+DP

    题目链接: http://ch.ezoj.tk/contest/%E3%80%90%E5%BC%B1%E7%9C%81%E8%83%A1%E7%AD%96%E3%80%91Round%20%230/F ...

  5. [Contest Hunter#17-C] 舞动的夜晚

    [题目链接] http://contest-hunter.org:83/contest/CH%20Round%20%2317/%E8%88%9E%E5%8A%A8%E7%9A%84%E5%A4%9C% ...

  6. Contest Hunter Round #70 - 连续两大交易事件杯省选模拟赛

    orz lydrainbowcat [Problem A]「艦これ市」70万幕后交易事件 排序机器=-=.重要的是相同的处理. 我们可以从小到大添加数字,然后维护一个位置的序列.每一种相等的数字都在一 ...

  7. 某次送温暖考试的 c题

    题目大意: 给定n个点的无根树,树上每个点都有一个非负的点权. 树上的路径的价值定义为树上路径的点权和-树上路径的点权最大值; 现在给定一个参数P询问有多少条路径的价值是P的倍数(注意单点也算路径,路 ...

  8. 【Contest Hunter 5302】金字塔

    [原题链接]传送门 [题解思路] 1.考虑如何将序列与树相对应,想到类似dfs序和欧拉序,同一个子树对应序列连续 2.暴力分子树过于复杂,考虑简化(划重点: 若当前区间为[l,r],考虑第一颗子树所在 ...

  9. Contest Hunter 1401 兔子与兔子

    1401 兔子与兔子 0x10「基本数据结构」例题 描述 很久很久以前,森林里住着一群兔子.有一天,兔子们想要研究自己的 DNA 序列.我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DN ...

随机推荐

  1. 【BZOJ4538】[Hnoi2016]网络 整体二分+树状数组

    [BZOJ4538][Hnoi2016]网络 Description 一个简单的网络系统可以被描述成一棵无根树.每个节点为一个服务器.连接服务器与服务器的数据线则看做一条树边.两个服务器进行数据的交互 ...

  2. :nth- 从1开始计数,其他如:eq()、 index()从0开始计数

    因为jQuery的实现:nth-是严格来自CSS规范,n值是“1-indexed”,也就是说,从1开始计数. 对于所有其他选择器表达式比如:eq() 或 :even ,jQuery遵循JavaScri ...

  3. phpstorm 9.0最新 注册码

    phpstorm注册码: User Name:newasp 01.License Key: ===== LICENSE BEGIN ===== 14617-12042010 00001xrVkhnPu ...

  4. MySQL 索引性能分析概要

    上一篇文章 MySQL 索引设计概要 介绍了影响索引设计的几大因素,包括过滤因子.索引片的宽窄与大小以及匹配列和过滤列.在文章的后半部分介绍了 数据库索引设计与优化 一书中,理想的三星索引的设计流程和 ...

  5. Oracle Database Documentation

    Oracle数据库的发展简史 ORDBMS对象-关系数据库管理系统 Oracle Schema Objects Oracle Schema Objects——Tables——Overview of T ...

  6. attributes["wv"].nodeValue

    w 获取自定义属性的值 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. CSRF Cross-site request forgery

    w 跨站请求伪造目标站---无知用户---恶意站 http://fallensnow-jack.blogspot.com/2011/08/webgoat-csrf.html https://wiki. ...

  8. python项目环境的导出、导入

    导出开发环境 pip freeze > requirements.txt # 文件导出路径 导入环境 pip install -r requirements.txt # pip 则会自动下载安装 ...

  9. 基于JSP的学术交流论坛系统的设计与实现

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章.未经博主同意不得转载. https://creativecommons.org/licenses/by-nc-s ...

  10. 阿里、腾讯、京东、微软,各家算法&数据挖掘岗位面经大起底!

    阿里.腾讯.京东.微软,各家算法&数据挖掘岗位面经大起底! 2016-02-24 36大数据 36大数据 作者: 江少华 摘要: 从2015年8月到2015年10月,花了3个月时间找工作,先后 ...