中位数要排序!!!!!!

中位数要排序!!!!!!

中位数要排序!!!!!!

中位数要排序!!!!!!

中位数要排序!!!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

  • 如果你在考场的时候发现了这个秘密,那么你至少 \(rk3\)

然而并没有

两个秘密都没有发现,然后成功获得了了 \(12pts\) 的高分。

\(\huge{\text{果然连胜之后必是连败}}\)

战神除外

考场的时候心态不够稳定,在发现 \(T1\) 的样例死活出不来的时候心态炸裂。

$n = 100 $ 的数据硬生生手摸。。

三个小时之后心态炸裂。

\(20min\)迅速打完暴力

拿到 \(12pts\) 高分

本以为 \(T2\; \mathcal O(nlog(n))\) 的做法有 \(50pts\)

结果。。。。

这个题目的分差没有绝对值???!!!

就问您你能看出来不加绝对值???

我连谁做被除数都不知道

生气。。。

不提了。。。。

Median:

本以为这个题目带上线性筛 \(mathcal O(n)\) 可过

然而我连中位数是什么都不知道。。。

他是需要排序的!!!!!!!!!!!!!!!!!

然后三个小时都败在这个上面了。。。

痛苦。。。

他给出的 \(s_1\) 序列实际上就是随机数序列。。。。

所以使用类似莫队的方法就能搞掉

虽然复杂度最劣 \(n^2\)



#include<bits/stdc++.h>
using std::cout; using std::endl;
#define debug cout<<"debug"<<endl
namespace xin_io
{
#define gc() p1 == p2 and (p2 = (p1 = buf) + fread(buf,1,1<<20,stdin),p1 == p2) ? EOF : *p1++
char buf[1<<20],*p1 = buf,*p2 = buf; FILE *xinnb1; typedef long long ll;
void openfile() {xinnb1 = freopen("t.txt","r",stdin);} void outfile() {xinnb1 = freopen("o.txt","w",stdout);}
inline int get()
{
int s = 0,f = 1; register char ch = gc();
while(!isdigit(ch)) {if(ch == '-') f = -1; ch = gc();}while(isdigit(ch)) {s = s * 10 + ch - '0'; ch = gc();}
return s * f;
}
}
using namespace xin_io; static const int maxn = 1e7+10;
#define try(i,a,b) for(register signed i=a;i<=b;++i)
#define throw(i,a,b) for(register signed i=a;i>=b;--i)
namespace xin
{
//#define int long long
ll s1[maxn],cnt,s2[maxn],zhi;
int n,k,w;
inline bool pr(int x)
{
for(register int i=2;i*i<=x;++i)
if(x % i == 0)
return false;
return true;
}
// double ans = 0;
// bool number[maxn*100];
std::bitset<maxn*100>number;
int prime[maxn],count = 0;
void shai(int N)
{
int i,j;
// memset(number,true,sizeof(number));
number.set();
for(i=2;i<=N;i++)
{
if(number[i]) prime[count++]=i;
if(count >= maxn-9) return ;
for(j=0;j<count and prime[j]*i<=N;j++)
{
number[prime[j]*i]=false;
if(i%prime[j]==0)
break;
}
}
}
#define int long long
int zhuan[maxn];
int vis[maxn];
inline short main()
{
#ifndef ONLINE_JUDGE
openfile();
#endif
std::cin>>n>>k>>w;
register int i = 2;
const int MAX = 1.8e8;
shai(MAX);
for(register int i=2;cnt<=n;++i)
if(number[i]) s1[++cnt] = i * cnt % w;
try(i,1,n)
zhuan[i] = s2[i] = s1[i] + s1[(i / 10) + 1];//,cout<<"i = "<<i<<" s2[i] = "<<s2[i]<<endl;
int sum = 0,num = 0;
double ans = 0.0;
try(i,1,k-1) vis[s2[i]]++;
if(k & 1) // ji
{
register int zhi = 0,ret = -1,len = (k >> 1) + 1;
try(i,k,n)
{
vis[s2[i]]++;
if(s2[i] <= ret) ++zhi;
if(i xor k)
{
vis[s2[i-k]]--;
if(s2[i-k] <= ret) zhi--;
}
while(zhi < ((k >> 1) + 1)) zhi += vis[++ret];
while(zhi >= len + vis[ret]) zhi -= vis[ret--];
ans += ret;
}
}
else
{
register int zhi1 = 0,zhi2 = 0,ret1 = -1,ret2 = -1,len = (k >> 1);
try(i,k,n)
{
vis[s2[i]]++;
if(s2[i] <= ret1) zhi1++;
if(s2[i] <= ret2) zhi2++;
if(i xor k)
{
vis[s2[i-k]]--;
if(s2[i-k] <= ret1) zhi1--;
if(s2[i-k] <= ret2) zhi2--;
}
while(zhi1 < len) zhi1 += vis[++ret1];
while(zhi2 < len + 1) zhi2 += vis[++ret2];
while(zhi1 >= len + vis[ret1]) zhi1 -= vis[ret1--];
while(zhi2 >= len + vis[ret2] + 1) zhi2 -= vis[ret2--];
ans += (1.0 * ret1 + 1.0 * ret2) / 2.0;
}
}
printf("%.1lf\n",ans);
return 0;
}
}
signed main() {return xin::main();}

Game:

一眼优先队列。

然后加上谜之读题有 \(50pts\)

正解是维护一个单调不增的指针,然后他的复杂度均摊 \(k\)

之后就可以 \(\mathcal O(nk)\) 通过



#include<bits/stdc++.h>
using std::cout; using std::endl;
#define debug cout<<debug<<endl
//#define int long long
namespace xin_io
{
#define gc() p1 == p2 and (p2 = (p1 = buf) + fread(buf,1,1<<20,stdin),p1 == p2) ? EOF : *p1++
char buf[1<<20],*p1 = buf,*p2 = buf; FILE *xinnb1; typedef long long ll;
void openfile() {xinnb1 = freopen("t.txt","r",stdin);} void outfile() {xinnb1 = freopen("o.txt","w",stdout);}
inline int get()
{
int s = 0,f = 1; register char ch = gc();
while(!isdigit(ch)) {if(ch == '-') f = -1; ch = gc();}while(isdigit(ch)) {s = s * 10 + ch - '0'; ch = gc();}
return s * f;
}
}
using namespace xin_io; static const int maxn = 1e6+10,inf = 0x3f3f3f3f;
#define try(i,a,b) for(register signed i=a;i<=b;++i)
#define throw(i,a,b) for(register signed i=a;i>=b;--i)
namespace xin
{
int n,k;
int a[maxn],vis[maxn];
inline short main()
{
#ifndef ONLINE_JUDGE
openfile();
#endif
n = get(); k = get();
try(i,1,n) a[i] = get();
try(que,1,k)
{
register int num = get();
ll maxx = -inf,alice = 0,bob = 0,cnt = num - 1;
try(i,1,num-1) vis[a[i]]++,maxx = std::max(a[i] * 1ll,maxx);
try(i,1,n)
{
register int newval = 0;
if(++cnt <= n) newval = a[cnt];
if(newval >= maxx) {(i & 1) ? alice += newval : bob += newval; continue;}
else vis[newval]++;
(i & 1) ? alice += maxx : bob += maxx; vis[maxx]--;
throw(j,maxx,1) if(vis[j]) {maxx = j; break;}
}
printf("%lld\n",(alice - bob));
}
return 0;
}
}
signed main() {return xin::main();}

Park:

[考试总结]noip模拟21的更多相关文章

  1. 6.17考试总结(NOIP模拟8)[星际旅行·砍树·超级树·求和]

    6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前 ...

  2. 5.23考试总结(NOIP模拟2)

    5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[ ...

  3. 5.22考试总结(NOIP模拟1)

    5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Pr ...

  4. 2021.9.17考试总结[NOIP模拟55]

    有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a ...

  5. NOIP模拟21+22

    模拟21确实毒瘤...考场上硬刚T3 2.5h,成功爆零 T1.数论 看这题目就让人不想做,考场上我比较明智的打完暴力就弃掉了,没有打很久的表然后找规律. 正解貌似是乱搞,我们考虑一个比较显然的结论: ...

  6. [考试总结]noip模拟23

    因为考试过多,所以学校的博客就暂时咕掉了,放到家里来写 不过话说,vscode的markdown编辑器还是真的很好用 先把 \(noip\) 模拟 \(23\) 的总结写了吧.. 俗话说:" ...

  7. 2021.8.21考试总结[NOIP模拟45]

    T1 打表 由归纳法可以发现其实就是所有情况的总和. $\frac{\sum_{j=1}^{1<<k}(v_j-v_{ans})}{2^k}$ $code:$ 1 #include< ...

  8. 2021.7.21考试总结[NOIP模拟22]

    终于碾压小熠了乐死了 T1 d 小贪心一波直接出正解,没啥好说的(bushi 好像可以主席树暴力找,但我怎么可能会呢?好像可以堆优化简单找,但我怎么可能想得到呢? 那怎么办?昨天两道单调指针加桶,我直 ...

  9. 2021.9.21考试总结[NOIP模拟58]

    T1 lesson5! 开始以为是个无向图,直接不懂,跳去T2了. 之后有看了一眼发现可暴力,于是有了\(80pts\). 发现这个图是有拓扑序的,于是可以用拓扑排序找最长路径.先找原图内在最长路径上 ...

随机推荐

  1. Django基础之自定义分页器

    自定义分页器 针对批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理 分 ...

  2. Docker 版 3分钟部署 .net core 开源在线客服系统,他来了

    我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...

  3. Netty 框架学习 —— 基于 Netty 的 HTTP/HTTPS 应用程序

    通过 SSL/TLS 保护应用程序 SSL 和 TLS 安全协议层叠在其他协议之上,用以实现数据安全.为了支持 SSL/TLS,Java 提供了 javax.net.ssl 包,它的 SSLConte ...

  4. js笔记19 事件对象

    1.常用的事件 onmouseover  onmouseout  onmousedown  onmousemove  onmouseup   onclick  onchange  onfocus  o ...

  5. Custom Controller CollectionQT样式自定义 002 :NoteSlider 标签滑动条

    先上效果图 这个效果可以根据需求再定制,比如说文本框换成一个点下出现的气泡,跟随游标移动. 思路:继承QSlider,重写鼠标事件,添加label部件,定义其动作事件 源码:https://githu ...

  6. Harbor镜像仓库

    Harbor镜像仓库 作者 刘畅 时间 2020-7-11 微信 目录 1.下载离线安装包 1 2.安装docker 1 3.安装docker-compose 2 4.自签TLS证书 2 4.1.创建 ...

  7. 如何使用「mkvtoolnix」和「GoldWave」仅保留视频中左、右声道的其中一个声道?

    为什么要这样做? 我手上有一部电视剧的视频文件(.rmvb),每个视频文件都是"国/粤双语"的,与其他双语视频的两种语言的音频保存在两个音轨上不同,我这里的视频文件的双语是分别保存 ...

  8. Python中任务队列-芹菜celery的使用

    一.关于celery 芹菜celery是一个python实现的异步任务队列,可以用于爬虫.web后台查询.计算等等.通过任务队列,当一个任务来临时不再傻傻等待. 他的架构如下: Broker 我们的生 ...

  9. 跟我一起学Go系列:Go gRPC 安全认证方式-Token和自定义认证

    Go gRPC 系列: 跟我一起学Go系列:gRPC安全认证机制-SSL/TLS认证 跟我一起学 Go 系列:gRPC 拦截器使用 跟我一起学 Go 系列:gRPC 入门必备 接上一篇继续讲 gRPC ...

  10. POJ 1016 Numbers That Count 不难,但要注意细节

    题意是将一串数字转换成另一种形式.比如5553141转换成2个1,1个3,1个4,3个5,即21131435.1000000000000转换成12011.数字的个数是可能超过9个的.n个m,m是从小到 ...