学习总结23

# [NOIP2002 普及组] 选数

## 题目描述

已知 n 个整数 x1,x2,……,xn,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:

3+7+12=22

3+7+19=29

7+12+19=38

3+12+19=34

现在,要求你计算出和为素数共有多少种。

例如上例,只有一种的和为素数:3+7+19=29。

## 输入格式

第一行两个空格隔开的整数 n,k(1 < n <= 20,k<n)。

第二行 n 个整数,分别为 x1,x2,……,xn(1 <= xi <= 5* 10^6)。

## 输出格式

输出一个整数,表示种类数。

## 样例 #1

### 样例输入 #1

```
4 3
3 7 12 19
```

### 样例输出 #1

```
1
```

代码

#include <bits/stdc++.h>
using namespace std;
long long g[50];
long long j[50];
long long sum,n,k;
long long ss(long long x)
{long long y;for(y=2;y<x;y++){if(x%y==0)return 0;}return 1;
}
long long dfs(long long h,long long k1,long long s)
{if(k1==k){if(ss(s))sum++;return 0;}else{if(h<=n){dfs(h+1,k1+1,s+g[h]);dfs(h+1,k1,s);}return 0;}
}
int main()
{long long x,y,z;scanf("%lld%lld",&n,&k);for(x=1;x<=n;x++)scanf("%lld",&g[x]);dfs(1,0,0);printf("%lld",sum);return 0;
}

# 奇怪的电梯

## 题目描述

呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼(1 <= i <= N)上有一个数字 Ki(0 <= Ki <= N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3, 3, 1, 2, 5 代表了 Ki(K1=3,K2=3,……),从 1 楼开始。在 1 楼,按“上”可以到 4 楼,按“下”是不起作用的,因为没有 -2 楼。那么,从 A 楼到 B 楼至少要按几次按钮呢?

## 输入格式

共二行。  

第一行为三个用空格隔开的正整数,表示 N, A, B(1 <= N <= 200,1 <= A, B <= N)。

第二行为 N 个用空格隔开的非负整数,表示 Ki。

## 输出格式

一行,即最少按键次数,若无法到达,则输出 `-1`。

## 样例 #1

### 样例输入 #1

```
5 1 5
3 3 1 2 5
```

### 样例输出 #1

```
3
```

## 提示

对于 100 % 的数据,1 <= N <= 200,1 <= A, B <= N,0 <= Ki <= N。

本题共 16 个测试点,前 15 个每个测试点 6 分,最后一个测试点 10 分。

代码

#include <bits/stdc++.h>
using namespace std;
int g[210];
int j[210][2];
int j2[210];
int l=1,r=0,a,b,n;
int bfs()
{while(l<=r){int x=j[l][0];if(x==b)return j[l][1];if(g[x]==0){l++;continue;}if(x+g[x]<=n&&j2[x+g[x]]!=1){j[++r][0]=x+g[x];j[r][1]=j[l][1]+1;j2[x+g[x]]=1;}if(x-g[x]>=1&&j2[x-g[x]]!=1){j[++r][0]=x-g[x];j[r][1]=j[l][1]+1;j2[x-g[x]]=1;}l++;}return -1;
}
int main()
{int x,y;scanf("%d%d%d",&n,&a,&b);for(x=1;x<=n;x++)scanf("%d",&g[x]);j[++r][0]=a;j[r][1]=0;j2[a]=1;printf("%d",bfs());return 0;
}

# 学生分组

## 题目描述

有 n 组学生,给出初始时每组中的学生个数,再给出每组学生人数的上界 R 和下界 L\(L <= R),每次你可以在某组中选出一个学生把他安排到另外一组中,问最少要多少次才可以使 N 组学生的人数都在 [L,R] 中。

## 输入格式

第一行一个整数 n,表示学生组数;

第二行 n 个整数,表示每组的学生个数;

第三行两个整数 L,R,表示下界和上界。

## 输出格式

一个数,表示最少的交换次数,如果不能满足题目条件输出 -1。

## 样例 #1

### 样例输入 #1

```
2
10 20
10 15
```

### 样例输出 #1

```
5
```

## 提示

### 数据范围及约定

对于全部数据,保证 1<= n <= 50。

代码

#include <bits/stdc++.h>
using namespace std;
long long g[55];
int main()
{long long x,y=0,z=0,n,l,r,sum=0;scanf("%lld",&n);for(x=1;x<=n;x++){scanf("%lld",&g[x]);sum+=g[x];}scanf("%lld%lld",&l,&r);if(sum>r*n||sum<l*n){printf("-1");return 0;}else{for(x=1;x<=n;x++){if(g[x]>r){y=y+g[x]-r;}if(g[x]<l){z=z+l-g[x];}}}printf("%lld",max(y,z));return 0;
}

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

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

相关文章

CrossOver24破解版下载安装与激活

在 Mac 上运行Windows 软件&#xff0c;CrossOver Mac 可以轻松地从 Dock 本地启动 Windows 应用程序&#xff0c;并将 Mac 操作系统功能&#xff08;如跨平台复制和粘贴以及共享文件系统&#xff09;集成到您的 Windows 程序中。 CrossOver 产品特性 无需重启 CrossOver 可以…

全连接层是什么

个人浅显的看法: 当前层的每一个神经元&#xff0c;都和下一层的每一个神经元有连接&#xff0c;叫全连接层。 当前层有n个神经元&#xff0c;下一层有m个神经元&#xff0c;则全连接层&#xff0c;当前层的n个神经元和下一层m个神经元都有连接

Node.js基础---http模块

概念 http模块是 Node.js 官网提供用来创建 web服务器 的模块&#xff0c;通过 http.createServer&#xff08;&#xff09;创建 服务器和普通电脑区别&#xff1a;服务器有web服务器软件&#xff0c;IIS&#xff0c;Apache&#xff0c;phpstudy 在node内不需要 使用 先导入…

致专升本的大家

亲爱的专升本学员 在你踏上专升本的征程之际&#xff0c;我想告诉你&#xff0c;这是一段充满挑战但也充满希望的旅程。在这个过程中&#xff0c;你将会面临各种困难和压力&#xff0c;但请记住&#xff0c;每一次的努力都是为了迈向更好的未来。 首先&#xff0c;要明白一点…

LeetCode69. x 的平方根(C++)

LeetCode69. x 的平方根 题目链接代码 题目链接 https://leetcode.cn/problems/sqrtx/description/ 代码 class Solution { public:int mySqrt(int x) {int right x, left 0, ans -1;while(left < right){long long mid left (right - left) / 2;if(mid * mid <…

openssl3.2 - crypto-mdebug被弃用后, 内存泄漏检查的替代方法

文章目录 openssl3.2 - crypto-mdebug被弃用后, 内存泄漏检查的替代方法概述笔记查看特性列表openssl3.2编译脚本 - 加入enable-crypto-mdebug看看有没有替代内存诊断的方法?main.cppmy_openSSL_lib.hmy_openSSL_lib.c备注备注这招不行啊显势调用默认上下文也不行END openssl3…

Laravel03 路由到控制器与连接数据库

Laravel03 路由到控制器与连接数据库 1. 路由到控制器2. 连接数据库 1. 路由到控制器 如下图一些简单的逻辑处理可以放在web.php中&#xff0c;也就是路由的闭包函数里面。但是大的项目&#xff0c;我们肯定不能这么写。 为什么保证业务清晰好管理&#xff0c;都应该吧业务逻辑…

Amazon Generative AI | 基于 Amazon 扩散模型原理的代码实践之采样篇

以前通过论文介绍 Amazon 生成式 AI 和大语言模型&#xff08;LLMs&#xff09;的主要原理之外&#xff0c;在代码实践环节主要还是局限于是引入预训练模型、在预训练模型基础上做微调、使用 API 等等。很多开发人员觉得还不过瘾&#xff0c;希望内容可以更加深入。因此&#x…

python 进程笔记二(通讯) (概念+示例代码)

1、为什么要掌握进程间通信 Python代码效率由于受制于GIL全局锁限制&#xff0c;多线程不能利用多核CPU来加速&#xff0c;而多进程方式却可以绕过GIL限制, 发挥多CPU加速的优势&#xff0c;达到提高程序的性能的目的。 然而进程间通信却是不得不考虑的问题。 进程不同于线程&a…

react useMemo 用法

1&#xff0c;useCallback 的功能完全可以由 useMemo 所取代&#xff0c;如果你想通过使用 useMemo 返回一个记忆函数也是完全可以的。 usecallback(fn,inputs)is equivalent to useMemo(()> fn, inputs). 区别是:useCallback不会执行第一个参数函数&#xff0c;而是将它返…

Java Swing游戏开发学习2

跟随大佬教程继续&#xff0c;图片资源&#xff0c;视频简介有下载链接。 这个文章是看视频教程写的&#xff0c;不算原创。有条件的可以去油管搜索RyiSnow&#xff0c;是一个游戏开发视频制作up主&#xff0c;讲解的非常基础&#xff0c;可以边看边实践&#xff0c;增加对Java…

JavaWeb个人学习

1:RequestParam(defaultValue "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值 2: slf4j 对应的是日志的输出 log.info("参数是 {}", detail); 3: 分页插件 PageHelper 用法: 准备工作: 引入依赖 …

数据结构:链栈

一、介绍 操作受限的链表 如果进行头插&#xff0c;就只能头删 如果进行尾插&#xff0c;就只能进行尾删 二、功能&#xff08;把T->ptop当做头节点用&#xff09; 链栈的结构体 #ifndef __LINK_STACK_H__ #define __LINK_STACK_H__ #include <stdio.h> #include…

【MySQL】学习和总结联合查询

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-OPj5g6evbkm5ol0U {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

向导式堆栈管理器Dockge

经过申诉&#xff0c;目前博客的几个域名都恢复了&#xff0c;时间也延长到了 2033 年&#xff0c;后面还会不会出问题&#xff0c;老苏就不知道了 什么是 Dockge ? Dockge 是一款时髦的、易于使用的、响应式的、自托管的 docker-compose.yaml 向导式堆栈管理器&#xff0c;可…

单目与双目相机标定(一)

下面是几种常见的方法来获得三维点云重建的坐标系&#xff1a; 外部标定方法&#xff1a;在采集点云数据之前&#xff0c;通过使用已知尺寸和形状的校准物体在场景中放置特定的标记点或标定板。通过捕捉这些已知的标记点&#xff0c;可以建立一个参考坐标系&#xff0c;所有的点…

【Java程序设计】【C00317】基于Springboot的智慧社区居家养老健康管理系统(有论文)

基于Springboot的智慧社区居家养老健康管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧社区居家养老健康管理系统设计与实现&#xff0c;本系统有管理员、社区工作人员、医生以及家属四种角色权限 管…

Atcoder ABC341 D - Only one of two

Only one of two&#xff08;只有两个中的一个&#xff09; 时间限制&#xff1a;2s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 …

C语言--- 操作符详解(上)

目录 一.操作符的分类 1.算术操作符&#xff1a; - * / % 1. 和 - 2. * 3./ 4.% 2.移位操作符 3.位操作符 4.赋值操作符 1.连续赋值 2.复合赋值 5.单目操作符 1.和-- &#xff08;1&#xff09;前置 &#xff08;2&#xff09;后置 &#xff08;3&#xff09;前置…

用html编写的简易新闻页面

用html编写的简易新闻页面 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…