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

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

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

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

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

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

分差不加绝对值!!!!

  • 如果你在考场的时候发现了这个秘密,那么你至少 \(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. jQuery基础-选择器,样式操作

    入口函数:ready() 当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件. 由于该事件在文档就绪后发生,因此把所有其他的 jQuery 事件和函数置 ...

  2. 面试官:如何在分布式场景下生成全局唯一 ID?

    在分布式系统中,有一些场景需要使用全局唯一 ID ,可以和业务场景有关,比如支付流水号,也可以和业务场景无关,比如分库分表后需要有一个全局唯一 ID,或者用作事务版本号.分布式链路追踪等等,好的全局唯 ...

  3. Linux命令大全之搜索命令

    文件搜索命令(只能搜索文件) locate 文件名 在后台数据库中按文件名搜索,搜索速度快      /var/lib/mlocate(locate文件数据库)    这个数据库默认一天更新一次,强制 ...

  4. 通过ffmpeg转换为mp4格式

    FFMPEG  -i  example.wmv -c:v libx264 -strict -2 output.mp4FFMPEG  -i  example.wmv -c:v libx264 -stri ...

  5. Unity3D学习笔记1——绘制一个三角形

    目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...

  6. vue项目打包成html,在本地点击直接能打开

    默认情况下vue项目打包后,本地打开index.html是空白的,有报错.Failed to load resource: net::ERR_FILE_NOT_FOUND 这时需要修改config-& ...

  7. spring中BeanPostProcessor之四:AutowiredAnnotationBeanPostProcessor(01)

    在<spring中BeanPostProcessor之二:CommonAnnotationBeanPostProcessor(01)>中分析了CommonAnnotationBeanPos ...

  8. MetingJS 是如何配合 Aplayer 加载歌单的?

    Meting.js 介绍 Meting.js 依赖 APlayer.js,扩展了 APlayer.js 的功能,能够使 APlayer.js 加载网易云音乐.QQ 音乐.虾米音乐中的歌单. 安装 &l ...

  9. excel匹配函数vlookup和lookup

    1.vlookup(查找的条件,查找的区域,满足查找条件后需要返回的值在选中的查找区域的第几列,精确匹配还是近似匹配(精确匹配为0或False表示,反之为1或True)) =VLOOKUP(J2,$G ...

  10. Java并发之Semaphore源码解析(二)

    在上一章,我们学习了信号量(Semaphore)是如何请求许可证的,下面我们来看看要如何归还许可证. 可以看到当我们要归还许可证时,不论是调用release()或是release(int permit ...