也好。

该来的迟早会来。

反思再说吧。

向下跳过直到另一条分界线


%%%cbx也拿到了他的第一个AK了呢。

我的还是遥不可及。

我恨你,DeepinC。

我恨透你了。
你亲手埋葬所有希望,令我无比气愤。

我总想打你一顿,但是这除了让他人取笑以外毫无用处。

没有什么借口。

本来还想用数据出锅的那90分回去,但是没有意义。

如果这能让你有所改变的话。

没人知道你做错了什么,至少我也不知道。

但是这个世界不就是这个样子吗?

只看结果,强者为王。

你要好好思考一下教练对你说过的话:

你真的没有那么强。

现在你可以自觉的补一句:你弱得很呢。

伴随着最后一场的爆炸,你总排名从第15掉到第16,从第一机房垫底到第二机房房主。

没什么区别。

你也不配在A层待着。

知识不行练知识,心态不行练心态。

不管怎么说,所有的结果都是你自己造就的,现在是由过去的你创造的,未来是由现在的你创造的。

我也就这么一直目睹着你毁了自己。

昨晚考得那一套题可以说是比较擅长的类型了。

可是就算是擅长的类型,也能答成那个样子。

那么敢问,谁还能救你呢?

也只有你自己,也许还能挽救一下。

直到考试结束前的最后一秒,期望得分还高达240。

出分的时候,是真的傻眼了。

给5分钟时间让发泄一下的决定是如此高明,虽然我并没有遵守不要喊的约定。

T1没开int一分不剩,T2少取一次模丢60分,T3常数太大被卡成暴力掉了60分。

T3明明想到了主席树是一个log,但是感觉二维树状数组两个log好像也能过。

凭什么感觉?为什么不打主席树?脑子缺根筋??

嗯。可能吧。

但是这一切都是你自己造成的,不对吗?

明明能做的更好,你没做到,能怨谁呢?

也不用着急回A层了,时间还长,还不知道要考多少场才能再分一次。

且不说进不进的去,就算进去了,你连联赛的分数都稳不住你学什么省选知识点??

我也不相信你了。你要重新审视自己了。

我恨你。

我恨透你了。

要是昨天晚上别人都能想到你这种程度,那么你就是稳稳的倒数第一了。

但是你能随手丢掉160分,别人怎么能不超过你?

第一机房是留给强者的。

那里的位置是拼命争取才能得到的,并不是想要就能要的。

我想去。

但是你让我没去成。

我恨你。我恨透你了。

DeepinC,空有一腔所谓的热情是无用的。

就算你节节课间都往机房跑,你也不一定就能进第一机房。

你得面对你的缺点。

你自己数数,int改long long和取模爆炸这种问题你犯了多少次。

我想问你,你什么时候才能不再犯?

你给不出回答吧?

那么你就是活该了。

时间不多了,真的。

联赛就在眼前了。

曾经你是瞧不起联赛的,你直接就把眼光放在省选上了。

但是现在看来,不是很可笑吗?

你仔细思考一下:

如果你要靠翻盘才能进省队的话,那还不如不要学了。

现在摆在你面前的,省一都是问题吧。。。

我还是希望你不要辜负我的一腔热血。

最近的状态啊。。。我感觉我也没有颓什么啊。。

文化课文化课不行,奥赛奥赛爆炸。。。

看起来没有丝毫前途。。。

你不要再提曾经了,曾经的事情已经过去,也无法改变。

你把自己从A层拽出来了,承认这个结果就好了。

我还是想做A层的题。但现在不是任性的时候。

或者说,你没有任性的权力。

你一定还记得你的那篇《短期Flag》。

你已经对不起当时的自己了。

梦想在破灭。但是这还不是最后一个梦想。

梦醒了的话,你就该奋力前行了。

也许,还来得及。

你可能没做错什么,但是你做的还不够好。

细致一些吧,我求求你了。

我恳求你对我的,也是你自己的梦想,作出一些施舍。

我恨你,废物一个。

画着父母的钱,干不出一点好事。

连自己都对不起,就不必提是否愧对别人了。

我不忍心再让那些对我还抱有信心的人失望了,你呢?

你还有一些良知吧?

你还可以做得更好吧?

我恨透了你。但是没办法:

我只能虔诚地希望你能争点气

为自己谋得一条出路。。。

为我的内心带来一些满足。。。


T1:平均数

处理平均数类题的通用方法:把每一项都减去平均数。

李某东上的原题,不会。

直接做是没法做的,很容易想到二分答案,关键就是怎么check。

把每一项都减去mid值之后再做前缀和,统计逆序对。

具体统计的方法,就是扔进结构体里sort,用树状数组统计下标的逆序对,答案是一样的。

卡常且卡精度。

要开long long。不然一分没有。

 #include<cstdio>
#include<algorithm>
using namespace std;
int a[],n,t[],s[];long long k;
void add(int p,int w){for(;p<=;p+=p&-p)t[p]+=w;}
int ask(int p,int a=){for(;p;p-=p&-p)a+=t[p];return a;}
struct ps{double w;int p;friend bool operator<(ps a,ps b){return a.w<b.w;}}p[];
long long chk(double x){
long long inver=;double sum=;p[]=(ps){,};
for(int i=;i<=n;++i)p[i]=(ps){sum+=a[i]-x,i};
sort(p,p+n+);
for(int i=n;~i;--i)inver+=ask(p[i].p+),add(p[i].p+,);
for(int i=;i<=n;++i)add(i+,-);//printf("%lld\n",inver);
return inver;
}
int main(){
scanf("%d%lld",&n,&k);k--;
double l=,r=;
for(int i=;i<=n;++i)scanf("%d",&a[i]),r=max(r,a[i]*1.0);
while(r-l>1e-)if(chk((l+r)/)>k)r=(l+r)/;else l=(l+r)/;
printf("%.4lf\n",l);
}

T2:涂色游戏

最裸的矩阵快速幂。

这一行的填色方案只与上一行有关,所以dp。

dp[i][j]表示在第i行填了特定j中颜色的方案数。

考虑转移。枚举两行的颜色数再枚举交集即可。

如果上一行有i种下一行有j种交集为k种。

转移条件是i+j-k<=p&&i+j-k>=q。

那么就是一个组合数学问题了。

先在上一行的颜色里选出重复部分$C_i^k$

再选出这一行交集以外的部分$C_{p-i}^{j-k}$

然后的问题就是已知某k种颜色填n个位置,要求每种颜色必须出现。我是dp做的,据说可以容斥。

然后发现每一层的转移系数都相同,那就是简单的矩阵快速幂了。

注意取模。

 #include<cstdio>
#define int long long
#define mod 998244353
int n,m,p,q,pl[][],C[][],base[][],ans[],re[][],Ans;
void mult_base(){
for(int i=;i<=p;++i)for(int j=;j<=p;++j)for(int k=;k<=p;++k)re[i][j]=(re[i][j]+base[i][k]*base[k][j])%mod;
for(int i=;i<=p;++i)for(int j=;j<=p;++j)base[i][j]=re[i][j],re[i][j]=;
}
void mult_ans(){
for(int i=;i<=p;++i)for(int j=;j<=p;++j)re[][i]=(re[][i]+ans[j]*base[j][i])%mod;
for(int i=;i<=p;++i)ans[i]=re[][i],re[][i]=;
}
signed main(){
scanf("%lld%lld%lld%lld",&n,&m,&p,&q);m--;
pl[][]=;
for(int i=;i<=n;++i)for(int j=;j<=p;++j)pl[i][j]=(pl[i-][j-]+pl[i-][j])*j%mod;
for(int i=;i<=p;++i)C[i][]=;
for(int i=;i<=p;++i)for(int j=;j<=i;++j)C[i][j]=(C[i-][j-]+C[i-][j])%mod;
for(int x=;x<=p;++x)for(int y=;y<=p;++y)for(int c=;c<=p;++c)if(x+y-c<=p&&x+y-c>=q)
base[x][y]=(base[x][y]+C[x][c]*C[p-x][y-c]%mod*pl[n][y])%mod;
for(int i=;i<=p;++i)ans[i]=pl[n][i]*C[p][i]%mod;
for(;m;m>>=,mult_base())if(m&)mult_ans();
for(int i=;i<=p;++i)Ans=(Ans+ans[i])%mod;
printf("%lld\n",Ans);
}

T3:序列

对于每一个区间询问都可以拆成两部分:l-1以内的w以上的数产生-1贡献,r以内w以上的数产生1贡献。

然后就是可以考虑每一个位置的贡献了。是个二维偏序。

用主席树可以做到一个log,两个log会T成暴力。

然后修改一个位置就是删除原贡献添加新贡献。

 #include<cstdio>
#include<algorithm>
using namespace std;
struct qs{int p,w,v;friend bool operator<(qs a,qs b){return a.p<b.p;}}qt[];
int n,m,q,a[],cnt,rt[],ecnt,lc[],rc[],w[],nw;long long lastans;
void insert(int &p,int cpy,int wp,int v,int cl=,int cr=n+){
p=++ecnt;
if(cl==cr){w[p]=w[cpy]+v;return;}
if(wp<=cl+cr>>)insert(lc[p],lc[cpy],wp,v,cl,cl+cr>>),rc[p]=rc[cpy];
else insert(rc[p],rc[cpy],wp,v,(cl+cr>>)+,cr),lc[p]=lc[cpy];
w[p]=w[lc[p]]+w[rc[p]];
}
int ask(int p,int pos,int cl=,int cr=n+){
if(cr<=pos)return w[p];
if(cl+cr>>>=pos)return ask(lc[p],pos,cl,cl+cr>>);
return w[lc[p]]+ask(rc[p],pos,(cl+cr>>)+,cr);
}
int main(){
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=n;++i)scanf("%d",&a[i]);
for(int i=,x,y,W;i<=m;++i)scanf("%d%d%d",&x,&y,&W),qt[++cnt]=(qs){n-x+,W,-},qt[++cnt]=(qs){n-y+,W,};
sort(qt+,qt++cnt);
for(int i=;i<=cnt;++i)if(qt[i].p==qt[i-].p)insert(nw=,rt[qt[i].p],qt[i].w,qt[i].v),rt[qt[i].p]=nw;
else{for(int j=qt[i-].p+;j<qt[i].p;++j)rt[j]=rt[j-];insert(rt[qt[i].p],rt[qt[i].p-],qt[i].w,qt[i].v);}
for(int j=qt[cnt].p+;j<=n+;++j)rt[j]=rt[j-];
for(int i=;i<=n;++i)lastans+=ask(rt[n-i+],a[i]);
printf("%lld\n",lastans);
for(long long i=,p,W;i<=q;++i){
scanf("%lld%lld",&p,&W);
p^=lastans;W^=lastans;
lastans-=ask(rt[n-p+],a[p]);lastans+=ask(rt[n-p+],a[p]=W);
printf("%lld\n",lastans);
}
}

[考试反思]0926csp-s模拟测试52:审判的更多相关文章

  1. [考试反思]0718 NOIP模拟测试5

    最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...

  2. 2019.9.26 csp-s模拟测试52 反思总结

    刚刚写了一个小时的博客没了,浏览器自动刷新. 一!个!小!时! 鼠标键盘电脑哪个都不能摔,气死我了. 垃圾选手T1T2没思路,T3倒是想出来得比较早,靠T3撑着分数. 数据结构学傻选手,属实垃圾. T ...

  3. noip模拟测试52

    这套题总体来说比较简单,但是有一些分数我没有拿到,先说T1,我10分钟左右打完了60分的暴力,然后就开始打表找规律,好像只有我去找了循环节,找规律找了一个多小时,到八点四十的时候我还没有正解做法,就直 ...

  4. [CSP-S模拟测试52]题解

    A.平均数 看到第K小,又确定跟平衡树/主席树没有关系,可以把问题转化为有K-1个答案比它小再考虑二分. 二分平均值x,之后将原序列统一减去x.这时序列中区间和<0的区间个数就是原序列中平均值小 ...

  5. csp-s模拟测试52平均数,序列题解

    题面:https://www.cnblogs.com/Juve/articles/11602244.html 平均数: 第k个平均数不好求,我们考虑二分,转化成平均数小于x的有几个 虑把序列中的每个数 ...

  6. [考试反思]0814NOIP模拟测试21

    前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...

  7. [考试反思]1109csp-s模拟测试106:撞词

    (撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...

  8. [考试反思]0909csp-s模拟测试41:反典

    说在前面:我是反面典型!!!不要学我!!! 说在前面:向rank1某脸学习,不管是什么题都在考试反思后面稍微写一下题解. 这次是真的真的运气好... 这次知识点上还可以,但是答题策略出了问题... 幸 ...

  9. [考试反思]0729NOIP模拟测试10

    安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...

随机推荐

  1. 【Java】后台将文件上传至远程服务器

    问题:由于系统在局域网(能访问外网)内,但外网无法请求局域网内服务器文件和进行处理文件. 解决:建立文件服务器,用于存储文件及外网调用. 客户端(文件上传): package cn.hkwl.lm.u ...

  2. POJ - 2393Yogurt factory

    The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. Over the next N (1 &l ...

  3. 【JZOJ4807】破解

    Description 历经千辛万苦,ddddddpppppp 终于找到了IBN5100. dp 事先了解到SERN 共有T 个密码,每个密码是一个长度为N 的01 串,他要利用IBN5100 的特殊 ...

  4. 超级好用的c#解析JSON

    分享c# 一款非常好用的操作Json的dll,litjson VS2017 NuGet 搜索litjson,如下图: 例子: 在项目中新建一个txt文本文件,内容如下: [ { , "use ...

  5. Ubuntu16.04 安装apache+mysql+php(LAMP)

    记录下ubuntu环境下安装apache+mysql+php(LAMP)环境. 0x01安装apache sudo apt-get update sudo apt-get install apache ...

  6. POJ2828 Buy Tickets 树状数组

    Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...

  7. 收益 or 挑战?Serverless 究竟给前端带来了什么

    作者 | 黄子毅(紫益) 阿里前端技术专家 导读:前端开发者是最早享受到 "Serverless" 好处的群体,因为浏览器就是一个开箱即用.甚至无需为计算付费的环境!Serverl ...

  8. MyCat教程二:mysql主从复制实现

      单个mysql数据库在处理业务的时候肯定是有限的,这时我们扩展数据库的第一种方式就是对数据库做读写分离(主从复制),本文我们就先来介绍下怎么来实现mysql的主从复制操作. 1. 读写分离   原 ...

  9. HDU 1532 Drainage Ditches(最大流 EK算法)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1532 思路: 网络流最大流的入门题,直接套模板即可~ 注意坑点是:有重边!!读数据的时候要用“+=”替 ...

  10. vue —— Toast 内 加变量

    toast正常使用: 在页面内引入: import { Toast } from 'mint-ui' 使用的时候,简单到飞起: Toast('领取成功'); 而如果想在toast中加入变量,也很简单: ...