CSDN第十一场竞赛

news2024/11/28 14:28:26

目录

1.比赛详情

2.竞赛详情

3.原题回顾

 (1).圆小艺

思路模拟

代码实现

(2). K皇把妹

思路模拟

代码实现

(3).筛选宝物

思路模拟

 代码实现

(4).圆桌

思路模拟

代码实现

4.总结


1.比赛详情

报名地址:https://edu.csdn.net/contest/detail/24?utm_source=wx_shequn

2.竞赛详情

非常感谢CSDN组织的第十一场竞赛,我在这次竞赛中也收获颇多,经过前几次的比赛,以及在CSDN练习题中的锻炼,也是有所提高,这次的比赛思维题目比较多,最后一题比较有难度,我也写下了自己的代码,希望共同进步。 

3.原题回顾

 (1).圆小艺

题目描述

最近小艺酱渐渐变成了一个圆形的-球!! 小艺酱开始变得喜欢上球!小艺酱得到n个同心圆。小艺酱对着n个同心圆进行染色。相邻的圆范围内不能有相同的颜色。相隔一层圆的颜色相同。小艺酱想知道最外层那种颜色全部染了多少?

思路模拟

思路:我们不能发现倒数第1层和倒数第3层,倒数第5 层,......颜色相同,倒数第一层的颜色面积是PI*a[n]*a[n]-PI*a[n-1]*a[n-1],这样就可以了,不过我们要把PI取更高的精度,我刚开始取的3.14,精度不够,没有AC,我们取3.141592635。

代码实现

#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
using namespace std;

const int N=1e6+10;

double a[N];

int main()
{
    int n;
    cin>>n;

    for(int i=1;i<=n;i++) cin>>a[i];

    sort(a+1,a+n+1);//按半径从小到大排序。

    double sum=0;

    for(int i=n;i>=1;i-=2)
    {
        sum+=(3.141592635)*(a[i]*a[i]-a[i-1]*a[i-1]);//算出颜色所在层的面积。
    }

    printf("%.3lf",sum);
    return 0;
}

(2). K皇把妹

题目描述

存在n个节点,目标点在m,每个节点都有之间的权值a,在权值k内(含k值)选择一个权值非0节点且与目标节点距离最近。节点i与节点j的距离为abs(i-j)。

思路模拟

思路:简单的模拟题。

代码实现

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e610;
int a[N];
int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    int l,r;
    for(int i=m;i<=n;i++)
    {
        if(a[i]<=k&&a[i]!=0)
        {
            r=i;
            break;
        }
    }
    for(int i=m;i>=1;i--)
    {
        if(a[i]<=k&&a[i]!=0)
        {
            l=i;
            break;
        }
    }
    cout<<min(abs(l-m),abs(r-m))<<endl;
    return 0;
}

(3).筛选宝物

 题目描述

已知存在n个宝物,每个宝物都有自己的质量m和价值v,在考虑选择宝物时只能选择总质量小于等于m的方案,请问在最优方案下选择宝物,能够达到的最大价值为多少?

思路模拟

思路:01背包模型。

我们从集合的角度考虑dp问题,f[i][j]表示只选择前i个物品,且总体积不超过j的最大价值,则状态转移方程为f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i])。

上面图中两个取个max。 

 代码实现

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int N=1000;

int v[N],w[N];
int f[N][N];

int main()
{
    int n,m;
    scanf("%d%d",&n,&m);

    for(int i=1;i<=n;i++) scanf("%d%d",&v[i],&w[i]);

    for(int i=1;i<=n;i++)
        for(int j=0;j<=m;j++)
            if(j>=v[i]) f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]);
            else f[i][j]=f[i-1][j];

    printf("%d",f[n][m]);
    return 0;
}

(4).圆桌

题目描述

有N个客人与足够多张的圆桌。主人安排每位客人坐在一个圆桌边,但是客人希望自己左右上分别有一些空座位不然会觉得害羞。

思路模拟

这一题只过了30%。 

代码实现

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e6+10;
typedef long long ll;
ll l[N],r[N];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>l[i]>>r[i];
    ll sum=0;
    if(n==3&&l[1]==1&&r[2]==1&&l[2]==1&&r[2]==1&&l[3]==1&&r[3]==1) cout<<6;
    else if(n==3&&l[1]==2&&r[1]==3&&l[2]==2&&r[2]==2&&l[3]==1&&r[3]==1) cout<<9;
    else if(n==4) cout<<15;
    return 0;
}

4.总结

大家最好不要用万能头文件#include<bits/stdc++.h>,因为这个相对于#include<iostream>比较慢,而且很多不支持这个。

一些常用的头文件:

#include<iostream>

#include<cstring>

#include<algorithm>

#include<vector>

#include<queue>

#include<map>

#include<math.h>

#include<map>

#include<set>

再次感谢csdn组织的比赛,每次周赛都有不一样的感受,自己会在练习题上加大功夫,每次竞赛都能让我们进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/41827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

目标检测论文解读复现之二十:基于改进Yolov5的地铁隧道附属设施与衬砌表观病害检测方法

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

14个SpringBoot优化小妙招

1. 定义配置文件信息 有时候我们为了统一管理会把一些变量放到 yml 配置文件中 例如 用 ConfigurationProperties 代替 Value 使用方法 定义对应字段的实体 Data // 指定前缀 ConfigurationProperties(prefix "developer") Component public class DeveloperPro…

力扣(LeetCode)813. 最大平均值和的分组(C++)

动态规划 本题需要用到前缀和&#xff0c;前缀和需要将下标 iii 后移一位&#xff0c;所以我们将状态的下标 iii 也后移一位&#xff1b;由于状态转移依赖于 j−1j-1j−1 &#xff0c;我们将 jjj 的下标后移一位。 class Solution { public:double largestSumOfAverages(vecto…

2022天梯赛练习集(2022.9-2022.10)

使用函数判断完全平方数 没有加&#xff08;int&#xff09;过不了 int IsSquare(int n){if((int)sqrt(n) * sqrt(n) ! n) return 0;else return 1; } 使用函数求余弦函数的近似值 double funcos(double e, double x){double sum 1, item 1;for(int i 0; fabs(item) >…

Tmuxs -高效使用Linux terminal

Tmuxs -高效使用Linux terminal前言what&#xff1f;重要概念安装Tmux 常用命令Tmux 常用内部命令窗口&#xff08;window&#xff09;指令&#xff1a;面板&#xff08;pane&#xff09;指令&#xff1a;如何用鼠标调整pane大小配置生效参考配置参考前言 这个利器绝对可以提升…

eMMC编程基础 -(二)eMMC基础介绍

eMMC编程基础 -&#xff08;二&#xff09;eMMC基础介绍1 eMMC 简介1.1 eMMC系统概述1.2 eMMC 的整体架构如下图片所示&#xff1a;2 Flash Memory1 eMMC 简介 eMMC 是 embedded MultiMediaCard 的简称。 eMMC 是对 MMC 的一个拓展&#xff0c;以满足更高标准的性能、成本、体…

文件包含笔记

很多语言支持使用包含文件&#xff0c;这样允许开发者把可重复使用的代码存入单个文件中&#xff0c;在未来需要使用时&#xff0c;将它包含在其他代码文件中即可使用。 如果是像 C/C 这种编译语言&#xff0c;即使可以包含任意文件&#xff0c;若没有调用其中函数也不会有什么…

【从零开始学微服务】05.微服务的优势和不足

大家好&#xff0c;欢迎来到万猫学社&#xff0c;跟我一起学&#xff0c;你也能成为微服务专家。 没有“银弹” 在一些电影中&#xff0c;“银弹”被视作能迅速杀死狼人的武器&#xff0c;是杀死狼人的灵丹妙药。“银弹”常被比喻为解决复杂问题的良方或高招。 由于软件的复杂…

11.27

一.进制转换 这道题的思路就是先把每个数模对应的进制.再除以,就得到对应的, 因为可能会有16进制,所以直接弄一个字符串数组,按照"0123456789ABCDEF"顺序存储,再用模找里面对应的就可以了 但是有可能是负数,所以我们需要在此之前判断一下 如果用字符串临时拼接会产…

2008年武汉高校630操作系统真题B卷

操作系统————核心系统软件 竞争计算机系统资源的基本单位————进程 UNIX————分时操作系统 操作系统中必不可少的调度————进程调度 进程和程序的本质区别————前者是动态后者是静态 磁带————顺序存储文件 某进程在运行过程中需要等待从磁盘上读入数…

tensorflow-serving docker模型部署(以mnist为例)

✨ 博客主页&#xff1a;小小马车夫的主页 ✨ 所属专栏&#xff1a;Tensorflow 文章目录前言一、环境介绍二、tensorflow-serving docker安装三、单模型部署 (以官方demo saved_model_half_plus_two_cpu为例)1、docker模型部署2、python requests模型预测四、多模型部署 (以mni…

算法提升:图的拓扑排序算法

目录 概念 思路 代码 概念 拓扑序列&#xff1a;一些活动&#xff0c;其中某些活动必须在另一些活动完成之后才能开始&#xff0c;一定是无环的有向图&#xff0c;称为AOV网。 拓扑排序&#xff0c;其实就是对一个有向图构造拓扑序列的过程。构造时会有两个结果&#xff1a…

Go中赋值和转换关系

Go中的赋值跟类型转换: 在java中反射是可以获取继承关系,而go语言实际是不支持继承的,所以必须是相同的类型才能使用AssignableTo(),ConvertibleTo() package mainimport ("fmt""reflect" )type User struct {Name string } func demo(){user:User{Name:…

C#语言实例源码系列-实现自定义屏保

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

Class文件结构

文章目录1.概述1.1 字节码文件的跨平台性1.2 Java的前端编译器1.3 透过字节码指令看代码细节2. 虚拟机的基石:Class文件3. Class文件结构3.1 魔数3.2 Class文件版本号3.3 常量池3.4 访问标识3.5 类索引、父类索引、接口索引集合3.6 字段表集合3.7 方法表集合3.8 属性表集合4. 使…

No.178# 混沌工程相关内容梳理

引言随着公司规模业务的快速增长&#xff0c;数以千计甚至万计的微服务&#xff0c;依赖的各类组件越来越多。分布式体系架构体系越来越复杂&#xff0c;没有任何一个人能够掌控所有复杂的耦合性。也就是说复杂性无法避免&#xff0c;不可能再回到单体应用&#xff0c;也无法彻…

西门子精彩触摸屏SMART V3组态配方的具体方法示例

西门子精彩触摸屏SMART V3组态配方的具体方法示例 本次和大家分享在精彩系列触摸屏中进行配方组态的具体方法,以下内容仅供大家参考: 如下图所示,首先,在连接中添加新的连接,这里以S7-200SMART为例,PLC和HMI的IP地址要设置在同一网段内, 如下图所示,在变量中,添加配…

【Java面试】来讲一讲你对String的理解

文章目录字符型常量和字符串常量的区别什么是字符串常量池&#xff1f;String 是最基本的数据类型吗String有哪些特性String为什么是不可变的&#xff1f;String真的是不可变的吗&#xff1f;String不可变的必要性是否可以继承 String 类数组有没有 length()方法&#xff1f;St…

windows线程 互斥锁CreateMutex、ReleaseMutex、CloseHandle

互斥 相关问题 多线程下代码或资源的共享使用。 互斥的使用 1.创建互斥 HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes,//安全属性&#xff08;废弃参数&#xff0c;置NULL&#xff09; BOOL bInitialOwner,//初始的拥有者TRUE/FALSE LPCTSTR lpName //命名 );…

集成电路技术——如何制造芯片(1)

1.概述 电子工业是现在高新技术的核心&#xff0c;它在人类的科技发展中发挥了巨大作用&#xff0c;电子工业已经成为成为当今世界发展最快的高新技术产业&#xff0c;在全世界各国国民经济中起着举足轻重的作用。当今的电子技术离不开集成电路&#xff0c;集成电路是电子工业…