【普及组】模拟赛C组

写在前面:

今天考试考炸了,16.7+0+0+60=76.7分,不过就像我爸说的:“考试不拿高分才好,这样你才能学习更多”(喝口鸡汤先)

我现在AK啦!(蒟蒻自豪)

转到奆佬的博客

T4:

题目大意:

在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简写,输出时,用连续递增的字母或数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下:

​ (1)遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严格大于左边的字符。

​ (2)参数p1:展开方式。p1=1时,对于字母子串,填充小写字母;p1=2时,对于字母子串,填充大写字母。这两种情况下数字子串的填充方式相同。p1=3时,不论是字母子串还是数字子串,都用与要填充的字母个数相同的星号“*”来填充。

​ (3)参数p2:填充字符的重复个数。p2=k表示同一个字符要连续填充k个。例如,当p2=3时,子串“d-h”应扩展为“deeefffgggh”。减号两侧的字符不变。

​ (4)参数p3:是否改为逆序:p3=1表示维持原有顺序,p3=2表示采用逆序输出,注意这时仍然不包括减号两端的字符。例如当p1=1、p2=2、p3=2时,子串“d-h”应扩展为“dggffeeh”。

​ (5)如果减号右边的字符恰好是左边字符的后继,只删除中间的减号,例如:“d-e”应输出为“de”,“3-4”应输出为“34”。如果减号右边的字符按照ASCII码的顺序小于或等于左边字符,输出时,要保留中间的减号,例如:“d-d”应输出为“d-d”,“3-1”应输出为“3-1”。

正解:

这是一道水沝淼㵘题(可我比赛时又没做出来,哭)

来,直接暴力

代码:(修修补补的sb代码)

#include<bits/stdc++.h>
using namespace std;
int a,b,c,len=1,flag;
char x[105];
int main(){
//  freopen("expand.in","r",stdin);
//  freopen("expand.out","w",stdout);scanf("%d%d%d\n",&a,&b,&c);scanf("%s",x+1);while(x[len]!=NULL) len++;len--;for(int i=1;i<=len;){if(flag) i++;if(x[i+1]!='-'||x[i]=='-'){printf("%c",x[i]);flag=1;continue;}flag=1;if(x[i+2]-1==x[i]){printf("%c",x[i]);i++;continue;}if(x[i]>=x[i+2]||(x[i]>=97&&x[i]<=122&&(x[i+2]<97||x[i+2]>122))||(x[i]>=48&&x[i]<=57&&(x[i+2]<48||x[i+2]>57))){printf("%c%c",x[i],x[i+1]);i++;continue;}if(a==3){printf("%c",x[i]);for(int j=1;j<=(x[i+2]-x[i]-1)*b;j++) printf("*");i++;continue;}if(x[i]>=48&&x[i]<=57){printf("%c",x[i]);if(c==1){for(int j=x[i]+1;j<x[i+2];j++)for(int k=1;k<=b;k++)printf("%c",j);}if(c==2){for(int j=x[i+2]-1;j>x[i];j--)for(int k=1;k<=b;k++)printf("%c",j);}i++;}if(x[i]>=97&&x[i+2]<=122){printf("%c",x[i]);if(c==1&&a==1){for(int j=x[i]+1;j<x[i+2];j++)for(int k=1;k<=b;k++)printf("%c",j);}if(c==1&&a==2){for(int j=x[i]+1;j<x[i+2];j++)for(int k=1;k<=b;k++)printf("%c",j-32);}if(c==2&&a==1){for(int j=x[i+2]-1;j>x[i];j--)for(int k=1;k<=b;k++)printf("%c",j);}if(c==2&&a==2){for(int j=x[i+2]-1;j>x[i];j--)for(int k=1;k<=b;k++)printf("%c",j-32);}i++;}}fclose(stdin);fclose(stdout);
}

T5:

题目大意:

给出一个树,树的边上有权值,现在要你求出一个满足下面三个要求的节点集合。第一,根节点不在集合S中。第二,集合中任何两个节点仅有一个公共祖先,即根节点。第三,对集合中每个节点都要有两个值,wi表示到这个节点的路径上所有的边权值总和,di表示到这个节点的路径所包含的边数,现在要求sigma(wi)/sigma(di)的最大值。

正解:

好像是可以dfs(可我只会bfs)

这边就用一下并查集讲一下(要优化,具体的看代码)

假如我们找到了最大的

再找到了次大的

那么次大的只会拉低最大的

那么我们只需要找到最大的就行了

代码:

#include<cstdio>
#include<cstring>
using namespace std;
int x,y,z,n,t,a[1005][1005],f[1005];
double s[1005],sum,bj;
double max(double x,double y){return x>y?x:y;
}
void find(int x){if(x==f[x]) return;else{sum+=a[x][f[x]];bj++;find(f[x]);}
}
int main(){scanf("%d",&t);for(int p=1;p<=t;p++){scanf("%d",&n);double ans=0.0;if(n==1){printf("0.00\n");continue;}for(int i=1;i<n;i++){scanf("%d%d%d",&x,&y,&z);if(y<x){//优化在这int t=y;y=x;x=t;}a[x][y]=a[y][x]=z;f[y]=x;}for(int i=1;i<n;i++){find(i);s[i]=1.0*sum/bj;sum=bj=0;ans=max(ans,s[i]);}printf("%0.2f\n",ans);}return 0;
}

如果想看T1和T3,点这里

2021.7.15 jzoj题解与反思(2)相关推荐

  1. 2021.7.15 jzoj题解与反思

    [普及组]模拟赛C组 写在前面: 我没了啊 10分钟打完T1和T2(分数+200) T3看完不会,跳过(所以火星人到底是怎么交换两个手指的啊!还有我TM怎么就成了宇航员?) 后面T4怒打900+行代码 ...

  2. 电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场

    电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场 无限长均匀电流 无限长圆柱面均匀电流密度 无限长均匀电流 假设z轴上有一根非常细的电线,携带均匀电流I0I_0I ...

  3. 2021.1.15——星露谷作物计算器的小改进

    2021.1.15--星露谷作物计算器的小改进 前言 目标 excel表格 代码 总结 前言 2021.1.13做的星露谷作物计算器,初步只完成了对excel表内数据和图表的生成,交互也只是input ...

  4. Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》

    来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...

  5. PNET LAB 4.2.8 安装配置 最新版本PNET 2021.2.15 update 附下载地址

    PNETLAB 4.2.8   2021.2.15 官方网站:https://pnetlab.com/pages/download 链接:https://pan.baidu.com/s/1FbMjz4 ...

  6. 科大讯飞 笔试题2021.8.15 Java版

    1.将数的二进制表示中倒数第二个0改为1 2.求出字符串中包含26个字母的子串的最小长度,其中"?"可以代替其中一个字母 3.计算二叉树中距离为k的节点对的数量 1.将数的二进制表 ...

  7. USACO 2020~2021 February Contest GOLD 题解(3)

    USACO 2020~2021 二月黄金组 题解(3) 3. Count The Cows As is typical, Farmer John's cows have spread themselv ...

  8. 2021.05.15继承球体和圆柱体

    原文链接: 自动车 手动车:https://codeeggs.github.io/2021/05/15/2021.05.15%E7%BB%A7%E6%89%BF%E7%90%83%E4%BD%93%E ...

  9. 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)

    题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...

最新文章

  1. 关于计算机网络传输介质 下列叙述正确的是,《计算机基础》习题1-7
  2. ASP.NET JScript公共类(非常有用)
  3. 安装Linux后修改grub默认启动选项
  4. VSS自动发布站点功能扩展
  5. Linux系统的目录绑定配置
  6. JavaWeb学习笔记——JSTL核心标签库
  7. 【Excel】VBA自动化更新数据表格
  8. Xcode生成的可执行文件在哪里
  9. velocity显示List与Map的方法详细解析
  10. SAP Fiori UI上关于时区Timezone的一些问题和解决方案
  11. 在spring中使用JdbcTemplate进行数据库管理操作
  12. Apache Tika 内容抽取工具集合
  13. 用python编程、假设一年期定期利率_《Python程序设计》题库.pdf
  14. 卡永久QQ飞车紫钻 记录
  15. Window10问题一揽子解决方案(自动唤醒,自动更新,卸载自带office16,华硕卸载myasus以及myasus频繁提示更新,停用WindowDefender)
  16. Macbook开启HIDPI(2K显示器)
  17. Vim光标定位操作快捷键
  18. 3. 工业大数据的创新价值
  19. 领取1024节日勋章(程序员必看)
  20. Python3+Scrapy通过代理爬取携程酒店数据

热门文章

  1. 基于Spring MVC + Spring + MyBatis的【图书信息管理系统(一)】
  2. [绍棠] ijkplayer 的编译、打包 framework 和 https 支持
  3. 认识Prometheus
  4. linux即插即用的无线网卡,通过一块无线网卡同时连接 WiFi 热点并且无线共享网络...
  5. 毕业之后,生活的压力扑面而来,曾经的梦想也流离失所
  6. 17_小米监控Open-Falcon:Mongodb监控
  7. springboot项目如何配置多数据源
  8. Binormal - 副法线
  9. 计算机音乐谱刚好遇见你,刚好遇见你 (完整版)
  10. php 乱码 amp 26472,9月轿车销量TOP10:卡罗拉反超雷凌,新宝来大涨102.6%