[考试反思]1112csp-s模拟测试111:二重
还是AK场。考前信心赛?
而且T3的部分分还放反了所有80的都其实只有50。
总算在AK场真正AK了一次。。。
手感好,整场考试很顺利。要不是因为T3是原题可能就没这么好看了。
20minT1,50minT2,去趟厕所回来70min想到T3,110min写完调完对拍完,然后去学skyh写平衡树了。
然后我发现我不会写平衡树了。
两场一计分:600//585/580/535/515/515/500///
Day1考得不够好,Day2就还是反超不了啊。。。
没关系这两个600的过两天直接联赛进营进队拿最优惠不是竞争对手挺过联赛我就是rank1了
T1:物理课
迭代都能A那就没得说了。。。等比数列求和还是会的
- #include<cstdio>
- #include<cmath>
- using namespace std;
- long double theta,d,v,g;
- int main(){
- freopen("physics.in","r",stdin);freopen("physics.out","w",stdout);
- int t;scanf("%d",&t);
- while(t--){
- scanf("%Lf%Lf%Lf%Lf",&theta,&v,&d,&g);theta/=;theta*=3.141592653589793238;
- printf("%.5Lf\n",*sin(theta)*v*cos(theta)*v/g/(-d*d));
- }
- }
T2:数学课
可以打表(超可怜的说)。但是从含义出发比较简单。
确定一个奇数的状态,那么它的任意偶数倍就都确定了,交替出现在AB集合中。
然后区别就是你把多的和少的分别放在A里还是B里。
如果多的和少的一样那么就不必考虑。设有pair0个,怎么放都一样所以方案数是$2^{pair0}$
接下来是多的比少的多一个。设有pair1个。
首先我们要知道这些选择的最小值是多少,设为Base。(在求出pair1和pair0的顺便弄一下就行,log的)
那么多的比少的的贡献就是:因为要从pair1个里选出m-Base个,所以就是$C_{pair1}^{m-Base}$
一个Lucas一个快速幂
- #include<cstdio>
- #define int long long
- #define mod 10000019
- int fac[],inv[];
- int C(int b,int t){return <=t&&t<=b?fac[b]*inv[t]%mod*inv[b-t]%mod:;}
- int Lucas(int b,int t){return b<mod&&t<mod?C(b,t):Lucas(b/mod,t/mod)*C(b%mod,t%mod)%mod;}
- int qpow(int b,int t,int a=){for(;t;b=b*b%mod,t>>=)if(t&)a=a*b%mod;return a;}
- main(){
- freopen("math.in","r",stdin);freopen("math.out","w",stdout);
- fac[]=;
- for(int i=;i<mod;++i)fac[i]=fac[i-]*i%mod;
- inv[mod-]=qpow(fac[mod-],mod-);
- for(int i=mod-;~i;--i)inv[i]=inv[i+]*(i+)%mod;
- int n,q,m,lst=,p2=1ll<<,pair1=,pair0=,Base=;
- scanf("%lld%lld",&n,&q);
- for(int i=;i;--i,p2>>=){
- int num=n/p2,cnt;num=(num>>)+(num&);cnt=num-lst;lst=num;Base+=cnt*(i>>);
- if(i&)pair1+=cnt;else pair0+=cnt;
- }
- while(q--)scanf("%lld",&m),printf("%lld\n",Lucas(pair1,m-Base)*qpow(,pair0)%mod);
- }
T3:地理课
第一反应:LCT。不会。
后来一想,改变一下题意就是原题了。
可以离线,所以只要把加边和删边的含义改变为“每条边只在一段时间内出现,其它时间消失”
然后就可以当作《Dash Speed》做了。线段树分治+按秩合并并查集板子。(给自己之前的博客打广告2333)
- #include<cstdio>
- #include<vector>
- #include<map>
- using namespace std;
- #define mod 1000000007
- vector<pair<int,int> >v[];
- map<pair<int,int>,int>M;
- int opt[],a[],b[],edt[],n,m,ans=,inv[],sz[];
- int stf[],stp[],strk[],rans[],top,f[],rk[],stsz[];
- pair<int,int>Pair(int a,int b){return a>b?make_pair(b,a):make_pair(a,b);}
- int find(int p){return f[p]==p?p:find(f[p]);}
- void merge(pair<int,int>P){
- int a=find(P.first),b=find(P.second);
- if(a==b)return;
- stp[++top]=a;stf[top]=f[a];stsz[top]=sz[a];strk[top]=rk[a];rans[top]=ans;
- stp[++top]=b;stf[top]=f[b];stsz[top]=sz[b];strk[top]=rk[b];rans[top]=ans;
- ans=1ll*ans*inv[sz[a]]%mod*inv[sz[b]]%mod*(sz[a]+sz[b])%mod;
- if(rk[a]<rk[b])f[a]=b,sz[b]+=sz[a],rk[b]+=rk[a]==rk[b];
- else f[b]=a,sz[a]+=sz[b],rk[a]+=rk[a]==rk[b];
- }
- void add(pair<int,int>P,int p,int l,int r,int cl=,int cr=m){
- if(l<=cl&&cr<=r){v[p].push_back(P);return;}
- if(l<=cl+cr>>)add(P,p<<,l,r,cl,cl+cr>>);
- if(r>cl+cr>>)add(P,p<<|,l,r,(cl+cr>>)+,cr);
- }
- void Divide_and_Conquer(int p,int l,int r){
- int tp=top;
- for(int i=;i<v[p].size();++i)merge(v[p][i]);
- if(l==r)printf("%d\n",ans);
- else Divide_and_Conquer(p<<,l,l+r>>),Divide_and_Conquer(p<<|,(l+r>>)+,r);
- while(top>tp){
- int x=stp[top];
- sz[x]=stsz[top];rk[x]=strk[top];f[x]=stf[top];ans=rans[top];top--;
- }
- }
- int main(){freopen("geography.in","r",stdin);freopen("geography.out","w",stdout);
- scanf("%d%d",&n,&m);
- for(int i=;i<=m;++i)scanf("%d%d%d",&opt[i],&a[i],&b[i]);
- inv[]=;
- for(int i=;i<=n;++i)inv[i]=mod-1ll*mod/i*inv[mod%i]%mod;
- for(int i=;i<=n;++i)f[i]=i,rk[i]=sz[i]=;
- for(int i=m;i;--i)if(opt[i]==)M[Pair(a[i],b[i])]=i;
- else edt[i]=M[Pair(a[i],b[i])];
- for(int i=;i<=m;++i)if(opt[i]==)add(Pair(a[i],b[i]),,i,edt[i]?edt[i]-:m);
- Divide_and_Conquer(,,m);
- }
T4:普通平衡树
没调出来。爆零了。
[考试反思]1112csp-s模拟测试111:二重的更多相关文章
- [考试反思]0718 NOIP模拟测试5
最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...
- [考试反思]0814NOIP模拟测试21
前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...
- [考试反思]1109csp-s模拟测试106:撞词
(撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...
- [考试反思]0909csp-s模拟测试41:反典
说在前面:我是反面典型!!!不要学我!!! 说在前面:向rank1某脸学习,不管是什么题都在考试反思后面稍微写一下题解. 这次是真的真的运气好... 这次知识点上还可以,但是答题策略出了问题... 幸 ...
- [考试反思]0729NOIP模拟测试10
安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...
- [考试反思]0714/0716,NOIP模拟测试3/4
这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...
- [考试反思]1003csp-s模拟测试58:沉淀
稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...
- [考试反思]0816NOIP模拟测试23
210 210 210 170 还可以.暴力打满就rk4了? 但不管怎么说,总算是在改完题之后理直气壮的写考试反思了. T1是个dp,说水也不太水.(当然某脸只要A掉了一道题就要说那是水题) 我的思路 ...
- [考试反思]0801NOIP模拟测试11
8月开门红. 放假回来果然像是神志不清一样. 但还是要接受这个事实. 嗯,说好听点,并列rank#7. 说难听点,垃圾rank#18. 都不用粘人名就知道我是哪一个吧... 因为图片不能太长,所以就不 ...
随机推荐
- 轻轻松松学会 DRF Django REST framework
据我了解,目前的IT行业的大部分后端开发,都是需要进行前后端分离的,而前后端分类必不可少的是rest 规范,以下是django rest framework的学习路径: DRF Django REST ...
- python爬虫--分布式爬虫
Scrapy-Redis分布式爬虫 介绍 scrapy-redis巧妙的利用redis 实现 request queue和 items queue,利用redis的set实现request的去重,将s ...
- Websphere 重置admin 控制台密码
By way of wsadmin command: <WAS_INSTALL_DIR>/bin/> wsadmin -conntype NONE wsadmin> secur ...
- linux,centos,php,word转图片方法
刚开始的时候是客户的活儿,真的是没有想到,被这样一个方法给卡住了,真是醉了,经过漫长的一周,终于搞定了这个问题,以下就来给大家介绍以下这个方法把.能方便大家. (直接转换没办法,所以找了个折中的办法, ...
- 《Dotnet9》系列-开源C# WPF控件库强力推荐
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- JavaWeb学习——页面跳转方式
JavaWeb学习——页面跳转方式 摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别. 请求转发 相关方法 使用HttpServletRequest对象的 getRequestDispat ...
- HTML连载56-网易注册界面实战之全部代码
一.今天完成了网易邮箱注册界面的全部编写,编写一个小小的网页就需要这么多时间来进行设计.测量.排版.编写.测试,才能进行使用,同时编写这个网页复习了几乎前面的所有内容,最后来一个汇总就可以了. < ...
- 如何在阿里云服务器上搭建wordpress个人网站
1.购买云服务器.域名.域名解析.配置linux系统上的web环境.FTP等参照下面的链接. https://www.cnblogs.com/smyhvae/p/4965163.html?tdsour ...
- Springboot 错误处理机制
SpringBoot默认的错误处理机制 即我们常见的白色的ErrorPage页面 浏览器发送的请求头: 如果是其他的请求方式,比如客户端,则相应一个json数据: 原理:是通过 ErrorMvcAut ...
- 针对上一篇prim最后的完善结果
edge* Graph::prim(int cur) { if (cur >= this->vertexNum) { return NULL; } int *weight = new in ...