[考试总结]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\). 发现这个图是有拓扑序的,于是可以用拓扑排序找最长路径.先找原图内在最长路径上 ...
随机推荐
- JVM系列(五):gc实现概要01
java的一大核心特性,即是自动内存回收.这让一些人从繁琐的内存管理中解脱出来,但对大部分人来说,貌似这太理所当然了.因为现在市场上的语言,几乎都已经没有了还需要自己去管理内存这事.大家似乎都以为,语 ...
- Python 机器学习实战 —— 监督学习(上)
前言 近年来AI人工智能成为社会发展趋势,在IT行业引起一波热潮,有关机器学习.深度学习.神经网络等文章多不胜数.从智能家居.自动驾驶.无人机.智能机器人到人造卫星.安防军备,无论是国家级军事设备还是 ...
- 聊聊推荐系统,FM模型效果好在哪里?
本文始发于公众号:Coder梁 大家好,我们今天继续来聊聊推荐系统. 在上一回当中我们讨论了LR模型对于推荐系统的应用,以及它为什么适合推荐系统,并且对它的优点以及缺点进行了分析.最后我们得出了结论, ...
- 【VBA】日期时间
当前日期: Sub 测试() Debug.Print Date End Sub 当前时间: Sub 测试() Debug.Print Date End Sub 几月: Sub 测试() Debug.P ...
- Redis分布式锁 (图解-秒懂-史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- SpringMVC 进阶版
请求限制 一些情况下我们可能需要对请求进行限制,比如仅允许POST,GET等... RequestMapping注解中提供了多个参数用于添加请求的限制条件 value 请求地址 path 请求地址 m ...
- 『无为则无心』Python基础 — 3、搭建Python开发环境
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...
- CMD批处理(2)——批处理常用符号总结
@ 一般在它之后紧跟一条语句,则命令或语句本身在执行的时候不会显示在屏幕上. 例.创建一个test1.bat脚本文件,输入以下内容 echo apause@echo b@pause 双击test1.b ...
- JMeter定时器种类+详细教程举例
首先,我们先了解一下定时器的常见种类以及它的作用. 原文地址:https://www.cnblogs.com/istart/p/11184533.html 一.定时器种类+作用 上面是我截图的自己有道 ...
- 为什么 Python 没有函数重载?如何用装饰器实现函数重载?
英文:https://arpitbhayani.me/blogs/function-overloading 作者:arprit 译者:豌豆花下猫("Python猫"公众号作者) 声 ...