[考试总结]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\). 发现这个图是有拓扑序的,于是可以用拓扑排序找最长路径.先找原图内在最长路径上 ...
随机推荐
- fiddler操作详情
1.设置fiddler请求过滤 2.请求与响应的格式内容 3.拦截请求操作 a.按F11开始拦截,发送请求 b.修改请求数据 c.SHIFT+F11关闭拦截 d.run to complete,把修 ...
- 关于spooling的一些理解
spooling做了什么 1.将独占设备(打印机)虚拟化,变成一个逻辑上的共享设备. 怎么理解?虚拟化,通俗来讲,就是让单个资源仿似变成了多个资源. 以打印机为例,没有虚拟化之前,只能有一个进程申请到 ...
- sql server数据库性能优化之2-避免使用CTE公用表达式的递归【by zhang502219048】
数据库优化中的一个实例,记录一下: 1. 原来用了CTE公用表达式的递归,reads高达约40万,看查询执行计划,使用了Nested Loops: 2. 优化去掉递归,改用其它方式实现,reads降低 ...
- 【数学】8.30题解-count数页码
count 洛谷p1836 题目描述 一本书的页码是从 1-n 编号的连续整数: 1, 2, 3, ... , n.请你求出全部页码中 所有单个数字的和,例如第 123 页,它的和就是 1+2+3=6 ...
- Shiro-JWT SpringBoot前后端分离权限认证的一种思路
JWT-Shiro 整合 JWT-与Shiro整合进行授权认证的大致思路 图示 大致思路 将登录验证从shiro中分离,自己结合JWT实现 用户登陆后请求认证服务器进行密码等身份信息确认,确认成功后 ...
- 二QT中使用QTimer定时器
QT中的定时器类叫QTimer(5.8以上版本才有),构造函数只需要提供父对象的指针 使用的话,需要调用QTImer的start方法,该方法以毫秒单位,每过指定毫秒时间,该类对象就会发出一个timeo ...
- .obj : error LNK2019: 无法解析的外部符号
记录一个报错 .obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall 习惯上先去看看 | "#include"语 ...
- idea debug无法启动 Error running 'Tomcat8': Unable to open debugger port (127.0.0.1:50168): java.net.SocketException "socket closed
在日志里显示在 event log 里的 Error running 'server_web': Address localhost:1099 is already in use 显示1099单口已被 ...
- TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
大家好,我是小林. TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西. ...
- python导入模块--案例
1 导入模块 1.1 问题 本案例要求先编写一个star模块,主要要求如下: 建立工作目录 ~/bin/ 创建模块文件 ~/bin/star.py 模块中创建pstar函数,实现打印50个星号的功能 ...