最近总是这个样子。

看上去排名好像还可以,但是实际上离上面的分差往往能到80分,但是身后的分差其实只有10/20分。

比上不足,比下也不怎么的。

所以虽然看起来没有出rank10,但是在总分排行榜上却是不断下滑的。

说白了,就是暴力打满了,没什么出彩之处,自然会被超越。

最近又有一点摸鱼的迹象了,尤其是昨天这一场。

最近考场上打出T2T3正解的概率越来越低了,在打暴力方面却是怪强的。。。

而且看上去这一次貌似并不是实力问题,可能态度也不太端正?

需要及时调整。

昨天晚上的确有摸鱼的成分了。

T1是个比较套路的dp,没什么问题慢悠悠的拿下。

然后剩下的时间就基本一直在摸鱼了

T2产生了一个正解思路,但是感觉转移及其难写,就一直在犹豫看有没有什么简单的方法

然后到最后也就是一个暴力,加上一个根本拿不到分的随机化

T3是的确不会,需要自行发现一个结论

本来就不太会图论,又在T2上晃荡,就没有想出来

心态有一点浮了

重视考试的每一分钟,专注思考,不要摸鱼。

紧绷神经,沿着思路想下去。

不要给自己设限,不要凭空想象它有多难,想完就码就是了。

最近的状态还是不行,一定要再有提升啊

T1:简单的序列

如题。简单。

dp[i][j][0/1]表示已经用了n-m位里的i位,有j个多余的左括号,是否已经用了S串。

转移不是很麻烦(相较于T2)

 #include<cstdio>
#define mod 1000000007
inline void add(int &x,int p){x+=p;if(x>=mod)x-=mod;}
inline int min(int a,int b){return a<b?a:b;}
inline int max(int a,int b){return a>b?a:b;}
int n,m,dp[][][],mn,tt;char s[];
int main(){
scanf("%d%d%s",&n,&m,s+);
for(int i=;i<=m;++i){
tt+=s[i]=='('?:-;
mn=min(mn,tt);
}
if(mn<m-n){puts("");return ;}
if(tt>n-m){puts("");return ;}
dp[][][]=;if(mn>=)dp[][][tt]=;
for(int i=;i<=n-m;++i){
for(int j=;j<=;++j){
add(dp[][i][j],dp[][i-][j+]);
add(dp[][i][j],dp[][i-][j?j-:]);
add(dp[][i][j],dp[][i-][j+]);
add(dp[][i][j],dp[][i-][j?j-:]);
}
for(int j=-mn;j+tt<=;++j) add(dp[][i][j+tt],dp[][i][j]);
}
printf("%d\n",dp[][n-m][]);
}

T2:简单的期望

刚开始我还以为不能考两个dp吧,但是它真的就考了。

然后虽说转移比较麻烦(7种),但是其实很好想。

dp[i][j][k][0/1]表示操作了i次,最后8位是j,右移8位后最后有连续k位是0/1。

考场上发现了:因为你最多进行200次加法,所以高于8位的进位最多进行1次。

对于加1,只需要特殊处理j=255(0/1各1个式子),其它都直接加(1个式子)

对于乘2,只需要分别考虑j<128和j>=128,再分别讨论0/1(一共2*2个式子)

思路很清晰。也很好打。

 #include<cstdio>
double dp[][][][],i0[],ans;
int main(){
int x,n,r,s,cnt=;double p,q;
scanf("%d%d%lf",&x,&n,&p);p/=;q=-p;
r=x&;x>>=;s=x&;//puts("done");
if(x==)s=,cnt=;
else while((x&)==s)cnt++,x>>=;
dp[][r][cnt][s]=;
for(int i=;i<=n;++i){
for(int j=;j<;++j)for(int k=;k<=;++k)for(int l=;l<=;++l)
dp[i][j+][k][l]+=dp[i-][j][k][l]*q;//+
for(int k=;k<=;++k)dp[i][][k][]+=dp[i-][][k][]*q;//+
for(int k=;k<=;++k)dp[i][][][]+=dp[i-][][k][]*q;//+
for(int j=;j<;++j)for(int k=;k<=;++k)
dp[i][j<<][][]+=dp[i-][j][k][]*p,
dp[i][j<<][k+][]+=dp[i-][j][k][]*p;//*
for(int j=;j<;++j)for(int k=;k<=;++k)
dp[i][j<<&][][]+=dp[i-][j][k][]*p,
dp[i][j<<&][k+][]+=dp[i-][j][k][]*p;
}
for(int i=;i<;++i){int j=i;while((j&)==)j>>=,i0[i]++;}
for(int j=;j<=;++j)for(int k=;k<=;++k)for(int l=;l<=;++l)ans+=dp[n][j][k][l]*i0[j];
for(int k=;k<=;++k)ans+=dp[n][][k][]*(k+)+dp[n][][k][]*;
printf("%.8lf\n",ans);
}

T3:简单的操作

算是半个结论题,不容易严谨证明

存在奇环就无解,这个好说,因为最后一定会剩下一个3元环。

还是从简单的情况推到复杂的。

树->联通图->图

对于一棵树,可以通过选出直径,把其它的链往直径上并,得到长度为直径的链。

直径是什么?联通块里任意两点之间的最短路的最大值。

在树上加边形成环,得到联通图,上述结论依然成立。

如果不联通,那就把你得到的多条链合并起来,答案就是长度之和。

 #include<cstdio>
#include<vector>
using namespace std;
inline int max(int a,int b){return a>b?a:b;}
vector<int>v[];
int n,m,fir[],l[],to[],cnt,co[],tim,fal,dt[],lg[];
int q[],ans;
void link(int a,int b){l[++cnt]=fir[a];fir[a]=cnt;to[cnt]=b;}
void dfs(int p,int col){
v[col>>].push_back(p);co[p]=col;
for(int i=fir[p];i;i=l[i])if(!co[to[i]])dfs(to[i],col^);
else if(co[to[i]]==col)fal=;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=,x,y;i<=m;++i)scanf("%d%d",&x,&y),link(x,y),link(y,x);
for(int i=;i<=n;++i)if(!co[i])tim+=,dfs(i,tim);
if(fal){puts("-1");return ;}
tim>>=;//puts("done");
for(int i=;i<=tim;++i)
for(int j=;j<v[i].size();++j){
for(int k=;k<v[i].size();++k)dt[v[i][k]]=;
dt[v[i][j]]=;q[]=v[i][j];
for(int qh=,qt=;qh<=qt;++qh)
for(int e=fir[q[qh]];e;e=l[e])if(dt[to[e]]>dt[q[qh]]+)
dt[to[e]]=dt[q[qh]]+,q[++qt]=to[e];
for(int k=;k<v[i].size();++k)lg[i]=max(lg[i],dt[v[i][k]]);
}
for(int i=;i<=tim;++i)ans+=lg[i];
printf("%d\n",ans);
}

[考试反思]1013csp-s模拟测试72:距离的更多相关文章

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

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

  2. [CSP-S模拟测试72]题解

    A.简单的序列 遇到括号匹配,先将左右括号转化为1和-1. 那么一个括号序列合法的必要条件:总和为0且所有时刻前缀和$\ge 0$. 用dp预处理出长度为$i$,总和为$j$的括号序列数量.那么如果p ...

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

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

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

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

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

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

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

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

  7. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  8. [考试反思]1003csp-s模拟测试58:沉淀

    稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...

  9. [考试反思]0816NOIP模拟测试23

    210 210 210 170 还可以.暴力打满就rk4了? 但不管怎么说,总算是在改完题之后理直气壮的写考试反思了. T1是个dp,说水也不太水.(当然某脸只要A掉了一道题就要说那是水题) 我的思路 ...

随机推荐

  1. js模拟下拉菜单-键盘、鼠标(代码详解)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. d3.js 绘制北京市地铁线路状况图(部分)

    地铁线路图的可视化一直都是路网公司的重点,今天来和大家一起绘制线路图.先上图. 点击线路按钮,显示相应的线路.点击线路图下面的站间按钮(图上未显示),上报站间故障. 首先就是制作json文件,这个文件 ...

  3. 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  4. 基于 HTML5 的工控物联网的隧道监控实战

    前言 监控隧道内的车道堵塞情况.隧道内的车祸现场,在隧道中显示当前车祸位置并在隧道口给与提示等等功能都是非常有必要的.这个隧道 Demo 的主要内容包括:照明.风机.车道指示灯.交通信号灯.情报板.消 ...

  5. linux 基本操作积累

    1 sed 命令,替换含有指定字符的一整行数据 sed -i 's/原字符串/替换后的字符串/g' ./文件名 (此命令会全局替换[整个文件内替换]原字符串) sed -i.bak 's/原字符串/替 ...

  6. Python高阶函数及函数柯里化

    1 Python高阶函数 接收函数为参数,或者把函数作为结果返回的函数为高阶函数. 1.1 自定义sort函数 要求:仿照内建函数sorted,自行实现一个sort函数.内建函数sorted函数是返回 ...

  7. 基于STM32F1与NRF24L01模块的SPI简单通信

    一.前言 1.简介: 本文是基于STM32F1,将数据发送至NRF模块的寄存器,并将数据重新读取,通过串口发送出来的简单SPI单通信. 2.SPI简介: 调过STM8的都已经对SPI有所了解,调法都一 ...

  8. 网络编程java

    网络编程 1.网络编程概述(1).C/S结构:指客户端与服务端结构,常见程序QQ;(2).B/S结构:指浏览器和服务器的结构;2.网络编程的三要素:*IP地址*端口号*通信协议(UDP/TCP) *I ...

  9. TomCat中间件漏洞复现总汇

    TomCat中间件漏洞复现 前言 在渗透测试过程中,遇到php的站相对多一点,所以对apache了解的也多一点.TomCat中间件的站了解的比较少一点,这是自己第一次搭建环境测试漏洞,所以在自己摸索的 ...

  10. lcx 内网转发

    把放置到已经控制的内网主机 执行 内网主机输入命令lcx.exe -slave 外网ip 外网端口 内网ip 内网端口lcx.exe -slave 30.1.85.55 2222 127.0.0.1 ...