分类: c++

57 篇文章

P1012 [NOIP 1998 提高组] 拼数
题目描述 设有 n 个正整数 a1​…an​,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。 输入格式 第一行有一个整数,表示数字个数 n。 第二行有 n 个整数,表示给出的 n 个整数 ai​。 输出格式 一个正整数,表示最大的整数 #includ…
P5707 【深基2.例12】上学迟到
题目描述 学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。 在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。 学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。 由于路途遥…
这几天的算法题
1.P1075 [NOIP 2012 普及组] 质因数分解 时间限制: 1.00s    内存限制: 128.00MB 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n。 输出格式 输出一个正整数 p,即较大的那个质数。 #inc…
赦免战俘
题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 2n×2n(n≤10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,…
P1205 [USACO1.2] 方块转换 Transformations
题目描述 一块 n×n 正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 转 90°:图案按顺时针转 90°。 转 180°:图案按顺时针转 180°。 转 270°:图案按顺时针转 270°。 反射:…
回文质数(屎山代码)
P1217 [USACO1.5] 回文质数 Prime Palindromes 时间限制: 1.00s    内存限制: 125.00MB 题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。 写一个程序来找出范围 [a,…
详解“列车装袋”问题:从理解到代码实现
这篇文章会一步步带你解决“列车装袋”的问题。我们不绕弯子、不讲故事,只把每个环节讲清楚:先明白题目要我们做什么,再慢慢找到解决问题的方法,最后写出能直接用的代码。全程用直白的话解释,遇到新知识点会重点讲透。 一、先把题目读明白:到底要解决什么问题? 首先,我们得把题目里的关键信息拆解开,知道“已知什么”“要做什么”。 1. 已知的条件(固定不变的信…
传奇溢出王
P1009 [NOIP 1998 普及组] 阶乘之和 题目描述 用高精度计算出 S = 1! + 2! + 3! +... + n! 输入格式 一个正整数 n。 输出格式 一个正整数 S,表示计算结果。 输入输出样例 输入 3 输出 9 说明/提示 【数据范围】 对于 100 % 的数据, 1 <= n <= 50。 【其他说明】 注,…
质数口袋
#include<iostream> using namespace std; bool prime(int n){ for(int i = 2;i*i<=n;i++){ if(n%i==0){ return false; } } return true; } int main(){ int num; while(cin>&…
小数第n位
这个题超级容易溢出
thumbnail
解决“压缩字符串”问题的编程过程详解
一、题目核心理解(直白说明) 这道题的要求很明确,就是对输入的字符串做“压缩”处理,但有两个关键规则必须遵守: 压缩格式:把连续相同的字符,改成“字符+出现次数”的形式。比如“AAABCCDDDD”,连续3个A就写成“A3”,1个B就直接写“B”(次数是1时不用写),2个C写成“C2”,4个D写成“D4”,最终压缩成“A3BC2D4”; 压缩前提:…
倍数问题
题目描述 众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n个数中找到三个数,使得这三个数的和是 K的倍数,且这个和最大。数据保证一定有解。 #include <iostream> #in…
从暴力递归到空间最优:完全背包问题的完整优化之路
一、问题理解:什么是完全背包? 先明确完全背包的核心定义,避免与 0-1 背包混淆: 给定一个容量为 V 的背包,n 个物品,每个物品有体积 volume[i] 和价值 value[i],每个物品可以无限次选取。要求在不超过背包容量的前提下,选择物品使总价值最大。 二、第一版代码:暴力递归(思路对但效率极低) 这是我最初的实现,完全贴合 “选 / …
铁路旅游期望时间问题求解过程
⚠️ 核心提示:本文梳理的“铁路旅游期望时间”问题求解过程中,两版尝试代码均存在未解决错误;且因不打算改动原有代码逻辑,已决定暂时放弃这道题的进一步求解。 下面我会用最直白的话,一步步拆解这个问题:从题目讲的是什么,到解决问题的核心思路,再到关键知识点、算法步骤和代码实现尝试。全程不堆砌专业术语,每个新知识点都会先讲清楚“是什么”再讲“怎么用”,帮…
thumbnail
判断字符串排列的编程解析
亲爱的新手程序员奶奶,今天我们来学习一个有趣的字符串问题——判断一个字符串是否是另一个字符串的排列。我会用最简单明了的方式,从基础开始为您详细讲解。 问题理解:什么是字符串排列? 想象您有两串珠子,每串珠子由不同颜色的珠子组成。如果第二串珠子只是第一串珠子重新排列顺序的结果,那么我们就说第二串是第一串的"排列"。 在编程中: 字符串str2是字符串…
thumbnail
长草问题详解:从暴力到优雅
问题理解 我们先来看一下这个问题到底在说什么: 小明有一块空地,被分成了n行m列的小格子。有些格子种了草(用'g'表示),有些还是空地(用'.'表示)。每个月,草会向四个方向(上、下、左、右)扩展到相邻的空地上。我们需要计算k个月后,整个空地的状态是什么样的。 这就像是在模拟草的生长过程:每个月,所有的草同时向外蔓延一格。 第一版代码的问题 我们先…
k倍区间(难度升级版)
#include <iostream> #include <unordered_map> #include <vector> using namespace std; int main() { int N, K; cin >> N >> K; unordered_map<int, vector<long long>> …
子数组和整除问题——哈希表与前缀和
一、问题理解:什么是子数组和整除? 让我们想象有一个装满数字的盒子,里面有5个数字:[1, 2, 3, 4, 5]。我们要从盒子里连续取出一些数字,看看取出的数字加起来能不能被3整除。 连续取出是什么意思?就是不能跳着拿。比如你可以拿[2, 3, 4],但不能拿[1, 3, 5]。我们要数一数,有多少种不同的连续取法,使得取出的数字和能被3整除。 …
分糖果
题目描述有𝑛个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给 1 个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入描述程序首先读入一个整数𝑁 …
数位递增的数
题目描述 一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数。 例如 1135 是一个数位递增的数,而 1024 不是一个数位递增的数。 给定正整数 nn,请问在整数 1 至 nn 中有多少个数位递增的数? 输入描述 输入的第一行包含一个整数 n(1<n<106)n(1<…
链表
这段代码可以输出1,2...10这个数组的滚动
0-1背包问题
这段代码可以算出一定容量的背包装一些固定质量,固定价值的物品最多能装多少价值
冰雹最大数
这段代码可以算出整数n前的所有数通过冰雹猜想的运算所能到达的最大数
thumbnail
欧拉函数
#include<iostream> long long euler(long long n) { if (n == 0||n == 1) { return 0; } else { long long res = n; for (int i = 2; i * i <= n; i++) { if (n % i == 0) { res…
斐波那契——矩阵快速幂
#include <iostream> #include <vector> using namespace std; typedef vector<vector<long long>> Matrix;//定义一个n阶方阵 Matrix multiply(const Matrix& a, con…
妈妈的菜单【新生编程赛】
#include<iostream> #include<cmath> #include<bits/stdc++.h> using namespace std; int main () { int bfz[10],sum=0; for(int i =0;i<10;i++) { cin>>b…