NOIP模拟27
两个机房又和在一起考试
开场看了看T1,感觉挺水的,过。
T2,这个式子有点奇怪,暂时没什么思路,过
T3,好像保留最后几位换个根处理一下就行了,过,先去打T1
于是T1大概打了0.5h,连暴力带正解带对拍,码完之后感觉挺稳的,就过了。去看T3。
T3换个根就没事了,但是我一开始状态设置的有问题,一拍就爆炸了。
调调调,调过了T3,拍上了,感觉很稳,就交了一下T3和T1,此时过了两个小时
去把T2的式子化简了一下,发现只与前面所有数的和有关,好像是个很简单的dp,就码出来了。
不太会打暴力,于是码了个dfs,拍上了,很稳。
然后我去上了个厕所
然后碰见了DeepinC
然后他问我:“你切了几个?”
然后我感觉不太对劲,他都用“切”了,说明。。。。。。他AK了?
然后我决定回答:3个(这句话目的在于给DeepinC压力,使他不会过早颓废)
出分了,T2T3都A了,T1爆炸了
T1.
注意这题不保证b是有序的,需要自己手动sort,不这么干会变成20分,别问我怎么知道的。
然而我打对拍时智障地认为输入保证有序,于是我将所有数生成了出来,然后sort了一遍,然后输出
然后错失了人生第一个AK
T2.
把式子化简了,考虑每个点的贡献就没了。
#include<bits/stdc++.h>
using namespace std;
int f[][][],t;
int n,m,a[][],ans;
int main(){
scanf("%d",&t);
while(t--){
ans=0x7fffffff;
memset(f,0x3f,sizeof(f));
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&a[i][j]);
f[][][a[][]]=(n+m-)*a[][]*a[][];
for(int i=;i<=n;i++)
for(int j=;j<=m;j++){
if(i==&&j==)continue;
for(int k=;k<=(i+j)*;k++){
int sum=(n+m-)*a[i][j]*a[i][j]-k*a[i][j]*;
int mi=min(f[i-][j][k],f[i][j-][k]);
if(mi==0x3f3f3f3f)continue;
mi+=sum;
f[i][j][k+a[i][j]]=min(f[i][j][k+a[i][j]],mi);
if(i==n&&j==m)ans=min(ans,f[i][j][k+a[i][j]]);
}
}
printf("%d\n",ans);
}
return ;
}
T3.
换根dp,考虑每个数二进制最后4位,统计答案即可。
注意m!=0时不能算自己到自己的贡献。
#include<bits/stdc++.h>
using namespace std;
int n,m,fi[],ne[],to[],ans,dis[],w[],tot;
int res[],sum[][],siz[],ss[][];
inline void add(int x,int y,int z){
ne[++tot]=fi[x];
fi[x]=tot;
to[tot]=y;
w[tot]=z;
}
void dfs(int x,int fa){
siz[x]=;ss[x][]=;
for(int i=fi[x];i;i=ne[i]){
int y=to[i];
if(y!=fa){
dis[y]=dis[x]+w[i];
ans+=dis[y]^m;
res[]+=dis[y];
dfs(y,x);
siz[x]+=siz[y];
for(int j=;j<=;j++)
ss[x][(j+w[i])&]+=ss[y][j];
}
}
}
void dfs2(int x,int fa){
for(int i=fi[x];i;i=ne[i]){
int y=to[i];
if(y!=fa){
res[y]=res[x]+(n-*siz[y])*w[i];
for(int j=;j<=;j++){
sum[y][(j+w[i])&]+=sum[x][j]-ss[y][(j-(w[i]&)+)&];
sum[y][j]+=ss[y][j];
}
dfs2(y,x);
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=,x,y,z;i<n;i++)
scanf("%d%d%d",&x,&y,&z),add(x,y,z),add(y,x,z);
dfs(,);
printf("%d\n",ans);
for(int i=;i<=;i++)
sum[][i]=ss[][i];
dfs2(,);
for(int i=;i<=n;i++){
sum[i][]--;
for(int j=;j<=;j++)
res[i]=res[i]-j*sum[i][j]+(m^j)*sum[i][j];
printf("%d\n",res[i]);
}
return ;
}
NOIP模拟27的更多相关文章
- noip模拟27[妹子图·腿·腰](fengwu半仙的妹子们)
\(noip模拟27\;solutions\) 这次吧,我本来以为我能切掉两个题,结果呢??只切掉了一个 不过,隔壁Varuxn也以为能切两个,可惜了,他一个都没切...... 确实他分比我高一点,但 ...
- 2021.7.29考试总结[NOIP模拟27]
T1 牛半仙的妹子图 做法挺多的,可以最小生成树或者最短路,复杂度O(cq),c是颜色数. 我考场上想到了原来做过的一道题影子,就用了并查集,把边权排序后一个个插入,记录权值的前缀和,复杂度mlogm ...
- 20190820 Tue 集训总结&NOIP模拟 27
低谷度过了? 但是skyh阿卡了,还是反衬出我的辣鸡. T1知道要sort,却忘了判重,正解不如暴力分高,555. T2成功化出正解柿子,然后化过头了,化出了无法DP的柿子. 果然不够强,大神们一眼就 ...
- NOIP模拟27(命悬一线)
考得太悬了!
- 7.29考试总结(NOIP模拟27)[牛半仙的妹子图·Tree·序列]
前言 从思路上来讲是比较成功的,从分数上就比较令人失望了. 考场上是想到了前两个题的正解思路,其实最后一个题是半个原题,只可惜是我看不懂题... 这波呀,这波又是 语文素养限制OI水平.. 改题的时候 ...
- NOIP 模拟 $27\; \rm 牛半仙的妹子序列$
题解 \(by\;zj\varphi\) 明显一道极长上升子序列的题. 直接线段树维护单调栈,最后单调栈求出可以贡献的序列,答案相加就行. Code #include<bits/stdc++.h ...
- NOIP 模拟 $27\; \rm 牛半仙的妹子Tree$
题解 \(by\;zj\varphi\) 很妙的虚树题. 考虑若没有操作 \(2\),那么直接记录一下扩散到它的最短时间和询问时间相比即可,可以当作一个树上最短路. 有 \(2\) 操作怎么办,将操作 ...
- NOIP 模拟 $27\; \rm 牛半仙的妹子图$
题解 \(by\;zj\varphi\) 颜色数很少,考虑枚举颜色数. 建出来一棵最小生成树,可以证明在最小生成树上,一个点到另一个点的路径上的最大权值最小(易证,考虑 \(\rm kruskal\) ...
- 8.22 NOIP 模拟题
8.22 NOIP 模拟题 编译命令 g++ -o * *.cpp gcc -o * *.c fpc *.pas 编译器版本 g++/gcc fpc 评测环境 位 Linux, .3GHZ CPU ...
随机推荐
- 合并果子(STL优先队列)
STL优先队列:priority_queue 定义:priority_queue<int>q; 从小到大:priority_queue<int,vector<int>,g ...
- SQL 存储过程示例讲解
create proc score_result ) --参数 as declare --定义变量@courseNo int, @testTime1 datetime, @avg int begin ...
- RF读取excel
pip install robotframework-ExcelLibrary (安装ExcelLibrary库) 关键字: Open Excel 打开excel Get Column Count 获 ...
- metasploit(MSF)渗透平台命令大全
转自互联网 记录以备后用 show exploits 列出metasploit框架中的所有渗透攻击模块. show payloads 列出metasploit框架中的所有攻击载荷. show auxi ...
- SpringBoot:1.开启SpringBoot之旅
什么是 Spring Boot Spring Boot是Spring团队设计用来简化Spring应用的搭建和开发过程的框架.该框架对第三方库进行了简单的默认配置,通过Spring Boot构建的应用程 ...
- Mac系统 安装Photoshop CC 2018破解版
应用场景 本人从事前端行业,但是工作中有时也需要会点PS技能,之前一直使用window系统,突然换了Mac其他软件基本都差不多安装完了,就剩下比较难搞的PS.刚开始按照网上乱七八槽的教程下载过好多次都 ...
- UI测试之元素定位
定位方式优先级选择: ID>Name>CSS>XPath 1.使用id定位 2.使用name定位 3.使用class定位 4.使用css选择器定位 示例xml: <?xml ...
- 利用requests和BeautifulSoup爬取菜鸟教程的代码与图片并保存为markdown格式
还是设计模式的开卷考试,我想要多准备一点资料,于是写了个爬虫爬取代码与图片,有巧妙地进行格式化进一步处理,最终变为了markdown的格式 import requests from bs4 impor ...
- SpringBoot-Mysql模板多数据源加载
SpringBoot-Mysql模板多数据源加载 qq交流群: 812321371 微信交流群: MercyYao 简介 在 java 项目里常用到 mysql 多数据源操作.结合 springboo ...
- Arduino学习笔记③ 经典LED
1.前言 今天我们开始同时讲解理论以及实践.对于绝大部分有过单片机编程经历的人来说,第一个接触的大多数就是LED灯(忽然想起博主大一那个懵懂的时代,当时大三的师兄给我们展现了一把流水灯功力,当 ...