2017河工大校赛补题CGH and 赛后小结

2024-02-01 01:30

本文主要是介绍2017河工大校赛补题CGH and 赛后小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网页设计课上实在无聊,便开始补题,发现比赛时候僵着的东西突然相通了不少

首先,“追妹”这题,两个队友讨论半天,分好多种情况最后放弃(可是我连题目都没看啊),今天看了之后试试是不是直接判断情况就可以,于是出现

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int T,n,m,a,b,u,v,i,flag;   
 5     scanf("%d",&T);
 6     while(T--)
 7     {
 8         flag=0;
 9         scanf("%d%d%d%d",&n,&m,&a,&b);
10         for(i=1;i<=m;i++)
11         {
12             scanf("%d%d",&u,&v);
13             if(u==a&&v==b  ||  u==b&&v==a)  flag=1;
14         }
15         if(flag)  printf("chhappy\n");
16         else      printf("chsad\n");
17     }
18     return 0;
19 }
View Code

这样的1A,噗...............喷血,这个不多说当时没看题,遗憾遗憾。
Next,“最大子段和”,我发4, 5个小时比赛3人起码在这上面花了2.5个小时,结果依旧没A。太傻了各自,当时怎么就没想过for循环跑的时候 i+=2 ,唉,无奈,居然会如此给A

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 #define maxn 100005
 7 int num[maxn];
 8 int main()
 9 {
10     int t,n,sum;
11     cin>>t;
12     while(t--)
13     {
14         cin>>n;
15         for(int i=1;i<=n;i++)  cin>>num[i];
16         int ans=num[1],sum=num[1]; 
17         for(int i=2;i<n;i+=2) 
18         {
19             sum+=(num[i]+num[i+1]);
20             sum=max(sum,num[i+1]);
21             ans=max(ans,sum);
22         }
23         sum=num[2];
24         for(int i=3;i<n;i+=2)
25         {
26             sum+=(num[i]+num[i+1]);
27             sum=max(sum,num[i+1]);
28             ans=max(ans,sum);
29         }
30         cout<<ans<<endl;
31     }
32     return 0;
33 }
View Code

最后那个宝石题,开局时候队友看了之后没思路不想做,导致全程只有我一个人写这题,当时觉得这题很水,就是魔力值更新就可以了,于是讲个队花听,队花不停恩哦恩哦,结果我发现自己不知道怎么不断更新,然后队花就去和主代码手继续聊BFS去了。手撸这题时候想用排序更新一下,希望数据比较弱水过去,结果WA了,55555555555....今天灵感突现用这种方法来循环更新,结果过了,蠢哭自己

 1 #include <iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 #define maxn 100005
 5 int a[maxn],b[maxn],c[maxn],AA[maxn];
 6 int main()
 7 {
 8     ios::sync_with_stdio(false);
 9     int t,n,m;
10     cin>>t;
11     while(t--)
12     {
13         cin>>n>>m;
14         int flag=1;
15         for(int i=1; i<=n; i++)  cin>>AA[i];
16         for(int i=1; i<=m; i++)
17         {
18             cin>>a[i]>>b[i]>>c[i];
19             AA[c[i]]=min(AA[c[i]], AA[a[i]]+ AA[b[i]]);
20         }
21         while(flag)
22         {
23             flag=0;
24             for(int i=1; i<=m; i++)
25                 if(AA[c[i]]> AA[a[i]]+ AA[b[i]])
26                 {
27                     flag=1;
28                     AA[c[i]]= AA[a[i]]+ AA[b[i]];
29                 }
30         }
31         for(int i=1; i<=n; i++)  printf("%d%c",AA[i],i==n?'\n':' ');
32     }
33     return 0;
34 }
View Code

赛后来波小结,毕竟贵圈的传统就是你做出来的题目就全是SB题。

  热身赛B题英文题轻松翻译,但题意一边是没输入,一边是两个样例,什么鬼,导致被队友质疑英语水平,开局不利(PS:恩爱狗,热身赛时候两个人在那讲高数,笑声不断,可怜的我承担着AK热身赛题的任务)..正式比赛题意都很简单,主代码手想的都太复杂(还好前2个水题全程都是自己单撸A的),想的复杂的结果就是都没A掉,近乎打铁。数学题第一次没写出来,数学公式推导了半个小时,庞大的计算量,结果出来的公式错了,很伤,很影响士气。其他都不想说,这场比赛前的Codeforces等了快2周,本想趁机涨分,结果熬夜撸代码时候发现忘了报名没法提交.当天下午BNU校赛恰好时间撞车,不过见到格格本人也算一个额外惊喜吧。总之,一次不错的ACM比赛体验,下次会狠狠地再来...

转载于:https://www.cnblogs.com/weimeiyuer/p/6756241.html

这篇关于2017河工大校赛补题CGH and 赛后小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665665

相关文章

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Java中Scanner的用法示例小结

《Java中Scanner的用法示例小结》有时候我们在编写代码的时候可能会使用输入和输出,那Java也有自己的输入和输出,今天我们来探究一下,对JavaScanner用法相关知识感兴趣的朋友一起看看吧... 目录前言一 输出二 输入Scanner的使用多组输入三 综合练习:猜数字游戏猜数字前言有时候我们在

SQL BETWEEN 的常见用法小结

《SQLBETWEEN的常见用法小结》BETWEEN操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值,本文给大家介绍SQLBETWEEN的常见用法,感兴趣的朋友一起看看吧... 在SQL中,BETWEEN是一个操作符,用于选取介于两个值之间的数据。它包含这两个边界值。BETWEEN操作符常用

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

C#中DrawCurve的用法小结

《C#中DrawCurve的用法小结》本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 如何使用 DrawCurve 方法(不带弯曲程度)2. 如何使用 DrawCurve 方法(带弯曲程度)3.使用Dr

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念