题目传送门(内部题94)


输入格式

  第一行两个整数$n,k$,代表衣服的数量和阈值。
  接下来一行$n$个数,第$i$个数$a_i$表示每件衣服的愉悦值。


输出格式

  输出一行$n$个数,第$i$个数为$r_i-l_i+1$,如果不存在这样的$l,r$,则输出$-1$即可。


数据范围与提示

$n\leqslant 10^6,0\leqslant a_i\leqslant 10^8,0\leqslant k\leqslant 10^9$


题解

正解是什么?我不知道。

乱搞就好了……

具体看代码吧,挺帅(不要脸)的。

可能是我发现这样可以过?

总之绿块块是我的!!!

感谢富豪大神的快读(从不打快读的我)。

时间复杂度:$\Theta($不要脸$)$。

期望得分:$64$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[1000001],ans[1000001];
inline int read(){
int ss(0);char bb(getchar());
while(bb<48||bb>57)bb=getchar();
while(bb>=48&&bb<=57)ss=(ss<<1)+(ss<<3)+(bb^48),bb=getchar();
return ss;
}
int main()
{
n=read(),k=read();
for(int i=1;i<=n;i++)ans[i]=-1,a[i]=read();
if(n<=30000)
{
for(int i=1;i<=n;i++)
{
int Min=0x3f3f3f3f,Or=0,Max=0,And=(1<<30)-1,r=-0x3f3f3f3f;
for(int j=i;j<=n;j++)
{
if(a[j]<Min)Min=a[j];
Or|=a[j];
if(a[j]>Max)Max=a[j];
And&=a[j];
if(Min+Or-Max-And>=k)r=j;
}
int len=r-i+1;
for(int j=i;j<=r;j++)if(len>ans[j])ans[j]=len;
}
for(int i=1;i<=n;i++)printf("%d ",ans[i]);
return 0;
}
for(int i=1;i<=n;i++)
{
int Min=0x3f3f3f3f,Or=0,Max=0,And=(1<<30)-1,r=-0x3f3f3f3f;
int minn=min(i+700,n);
for(int j=i;j<=minn;j++)
{
if(a[j]<Min)Min=a[j];
Or|=a[j];
if(a[j]>Max)Max=a[j];
And&=a[j];
if(Min+Or-Max-And>=k)r=j;
}
int len=r-i+1;
for(int j=i;j<=r;j++)if(len>ans[j])ans[j]=len;
}
for(int i=1;i<=n;i++)printf("%d ",ans[i]);
return 0;
}

rp++

[CSP-S模拟测试]:Cicada拿衣服(暴力+乱搞)的更多相关文章

  1. [CSP-S模拟测试]:军训队列(DP+乱搞)

    题目描述 有$n$名学生参加军训,军训的一大重要内容就是走队列,而一个队列的不规整程度是该队中最高的学生的身高与最矮的学生的身高差值的平方.现在要将$n$名参加军训的学生重新分成$k$个队列,每个队列 ...

  2. VIJOS1476 旅行规划(树形Dp + DFS暴力乱搞)

    题意: 给出一个树,树上每一条边的边权为 1,求树上所有最长链的点集并. 细节: 可能存在多条最长链!最长链!最长链!重要的事情说三遍 分析: 方法round 1:暴力乱搞Q A Q,边权为正-> ...

  3. [CSP-S模拟测试]:打扫卫生(暴力)

    题目描述 有$N$头奶牛,每头那牛都有一个标号$P_i1\leqslant Pi\leqslant M\leqslant N\leqslant 40,000$.现在$Farmer\  John$要把这 ...

  4. [CSP-S模拟测试]:String Master(暴力)

    题目描述 所谓最长公共子串,比如串$A:"abcde"$,串$B:"jcdkl"$,则它们的最长公共子串为串$"cd"$,即长度最长的字符串 ...

  5. [CSP-S模拟测试]:Cicada与排序(概率DP)

    题目传送门(内部题93) 输入格式 第一行一个整数$n$,代表数列的长度. 接下来一行$n$个数$a_i$,用空格分隔开. 输出格式 输出一行$n$个数,表示原数列上这个位置在执行后的期望位置,注意输 ...

  6. Codeforces #254 div1 B. DZY Loves FFT 暴力乱搞

    B. DZY Loves FFT 题目连接: http://codeforces.com/contest/444/problem/B Description DZY loves Fast Fourie ...

  7. Codeforces Gym 100203G Good elements 暴力乱搞

    原题链接:http://codeforces.com/gym/100203/attachments/download/1702/statements.pdf 题解 考虑暴力的复杂度是O(n^3),所以 ...

  8. Codeforces 245G Suggested Friends 暴力乱搞

    G. Suggested Friends time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  9. BZOJ 1491: [NOI2007]社交网络(Floyd+暴力乱搞)

    题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1491 题解: 先看数据范围,n<=100..欸可以乱搞了 首先因为小学学过的乘法原理 ...

随机推荐

  1. redis 小结三-数据类型

    redis 的数据类型主要有五种 字符串(String) 哈希表(Hash) 列表(List) 集合(Set ) 有序集合(Sorted Set) 1. 字符串 一个 key 对应一个 value 该 ...

  2. VM439:1 https://unidemo.dcloud.net.cn 不在以下 request 合法域名列表中,请参考

    在编写uni-app编写代码时,pc端获取数据正常,但是小程序端却出现以下的错误. 解决方法如下: 将相应的选项勾选

  3. Flask开发系列之模板

    Flask开发系列之模板 本文对<FlaskWeb开发:基于python的Web应用开发实战>模板一节做的总结. Jinja2模板引擎 模板 模板是一个包含响应文本的文件,其中包含用占位变 ...

  4. AIX中的页空间管理

    1.页空间简介(Paging  Space) 页空间是指硬盘上的存储内存信息的区域. 一个页空间也叫做一个交换空间. 是系统中一个类型为paging的逻辑卷.       2.创建页空间 使用mkps ...

  5. mariadb索引、视图、关联查询、备份恢复、外键

    连接查询(两张表关联查询) 在sql语句中,- - 代表注释 内关联查询(查询两张表的交集) select * from 表1 inner join 表2 on 表1.id=表2.id(此处id是表1 ...

  6. 007-SaltStack之修改salt-minion id

    1. 需求背景 之前使用saltstack添加的主机默认使用了hostname作为salt-minion id,而主机名如果没有做规范和规划,是比较难区分属于什么业务或者机器的.我们需要修改salt- ...

  7. 系统命令模块subprocess

    系统命令 可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen* --废弃 popen2.* --废弃 commands.* --废弃,3.x中被移除 ...

  8. 浅谈javaScript中的继承关系<一>

    // JavaScript Document //创建三个构造函数 function Shape(){ this.name='ahape'; this.toString=function(){retu ...

  9. ESP8266-Station模式--我想连上谁

    Station模式又叫做站点工作模式,类似于无线终端 处于Station模式下的ESP8266,可以连接到AP.通过Station(简称为“STA”)模式,ESP8266作为客户端连接到路由的wifi ...

  10. npm 安装时 --save --dev 和 --save 区别

    一.模式 运行webpack命令时,一定要指定模式. webpack --mode developmentwebpack --mode production二.--save -dev --save:将 ...