[考试总结]noip模拟21
中位数要排序!!!!!!
中位数要排序!!!!!!
中位数要排序!!!!!!
中位数要排序!!!!!!
中位数要排序!!!!!!
分差不加绝对值!!!!
分差不加绝对值!!!!
分差不加绝对值!!!!
分差不加绝对值!!!!
分差不加绝对值!!!!
- 如果你在考场的时候发现了这个秘密,那么你至少 \(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的更多相关文章
- 6.17考试总结(NOIP模拟8)[星际旅行·砍树·超级树·求和]
6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前 ...
- 5.23考试总结(NOIP模拟2)
5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[ ...
- 5.22考试总结(NOIP模拟1)
5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Pr ...
- 2021.9.17考试总结[NOIP模拟55]
有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a ...
- NOIP模拟21+22
模拟21确实毒瘤...考场上硬刚T3 2.5h,成功爆零 T1.数论 看这题目就让人不想做,考场上我比较明智的打完暴力就弃掉了,没有打很久的表然后找规律. 正解貌似是乱搞,我们考虑一个比较显然的结论: ...
- [考试总结]noip模拟23
因为考试过多,所以学校的博客就暂时咕掉了,放到家里来写 不过话说,vscode的markdown编辑器还是真的很好用 先把 \(noip\) 模拟 \(23\) 的总结写了吧.. 俗话说:" ...
- 2021.8.21考试总结[NOIP模拟45]
T1 打表 由归纳法可以发现其实就是所有情况的总和. $\frac{\sum_{j=1}^{1<<k}(v_j-v_{ans})}{2^k}$ $code:$ 1 #include< ...
- 2021.7.21考试总结[NOIP模拟22]
终于碾压小熠了乐死了 T1 d 小贪心一波直接出正解,没啥好说的(bushi 好像可以主席树暴力找,但我怎么可能会呢?好像可以堆优化简单找,但我怎么可能想得到呢? 那怎么办?昨天两道单调指针加桶,我直 ...
- 2021.9.21考试总结[NOIP模拟58]
T1 lesson5! 开始以为是个无向图,直接不懂,跳去T2了. 之后有看了一眼发现可暴力,于是有了\(80pts\). 发现这个图是有拓扑序的,于是可以用拓扑排序找最长路径.先找原图内在最长路径上 ...
随机推荐
- Django基础之自定义分页器
自定义分页器 针对批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便 针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理 分 ...
- Docker 版 3分钟部署 .net core 开源在线客服系统,他来了
我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...
- Netty 框架学习 —— 基于 Netty 的 HTTP/HTTPS 应用程序
通过 SSL/TLS 保护应用程序 SSL 和 TLS 安全协议层叠在其他协议之上,用以实现数据安全.为了支持 SSL/TLS,Java 提供了 javax.net.ssl 包,它的 SSLConte ...
- js笔记19 事件对象
1.常用的事件 onmouseover onmouseout onmousedown onmousemove onmouseup onclick onchange onfocus o ...
- Custom Controller CollectionQT样式自定义 002 :NoteSlider 标签滑动条
先上效果图 这个效果可以根据需求再定制,比如说文本框换成一个点下出现的气泡,跟随游标移动. 思路:继承QSlider,重写鼠标事件,添加label部件,定义其动作事件 源码:https://githu ...
- Harbor镜像仓库
Harbor镜像仓库 作者 刘畅 时间 2020-7-11 微信 目录 1.下载离线安装包 1 2.安装docker 1 3.安装docker-compose 2 4.自签TLS证书 2 4.1.创建 ...
- 如何使用「mkvtoolnix」和「GoldWave」仅保留视频中左、右声道的其中一个声道?
为什么要这样做? 我手上有一部电视剧的视频文件(.rmvb),每个视频文件都是"国/粤双语"的,与其他双语视频的两种语言的音频保存在两个音轨上不同,我这里的视频文件的双语是分别保存 ...
- Python中任务队列-芹菜celery的使用
一.关于celery 芹菜celery是一个python实现的异步任务队列,可以用于爬虫.web后台查询.计算等等.通过任务队列,当一个任务来临时不再傻傻等待. 他的架构如下: Broker 我们的生 ...
- 跟我一起学Go系列:Go gRPC 安全认证方式-Token和自定义认证
Go gRPC 系列: 跟我一起学Go系列:gRPC安全认证机制-SSL/TLS认证 跟我一起学 Go 系列:gRPC 拦截器使用 跟我一起学 Go 系列:gRPC 入门必备 接上一篇继续讲 gRPC ...
- POJ 1016 Numbers That Count 不难,但要注意细节
题意是将一串数字转换成另一种形式.比如5553141转换成2个1,1个3,1个4,3个5,即21131435.1000000000000转换成12011.数字的个数是可能超过9个的.n个m,m是从小到 ...