USACO历年白银组真题解析 | 2005年1月

news/2026/1/22 16:32:50/文章来源:https://www.cnblogs.com/guolianggsta/p/19517973

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总贴:USACO历年白银组真题解析 | 汇总-CSDN博客


P6065 Sumsets

【题目来源】

洛谷:[P6065 USACO05JAN] Sumsets S - 洛谷

【题目描述】

给出一个整数 \(N\),将 \(N\) 分解为若干个 \(2\) 的次幂的和,共有多少种方法?

【输入】

输入一个整数 \(N\)\(1 \leq N \leq 10^6\))。

【输出】

输出方案数对 \(10^9\) 取模的结果。

【输入样例】

7

【输出样例】

6

【解题思路】

在这里插入图片描述

【算法标签】

《洛谷 P6065 Sumsets》 #USACO# #2005#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int n, dp[1000005]={0, 1, 2, 2, 4};
int main()
{cin >> n;  // 输入nfor (int i=5; i<=n; i++) {  // 遍历5到n,进行递推if (i%2==1) {  // 当i为奇数时dp[i] = dp[i-1];  // i的方案数与i-1相同} else {  // 当i为偶数时dp[i] = dp[i/2] + dp[i-1];  // i的方案数为i/2的方案数加上i-1的方案数}dp[i] %= 1000000000;  // 每计算一次进行一次取模运算}cout << dp[n] << endl;  // 输出n的方案数return 0;
}

【运行结果】

7
6

P6066 Watchcow

【题目来源】

洛谷:[P6066 USACO05JAN] Watchcow S - 洛谷

【题目描述】

Farmer John 有 \(N\) 个农场(\(2 \leq N \leq 10^4\)),这些农场由 \(M\) 条道路连接(\(1 \leq M \leq 5 \times 10^4\))。不保证没有重边。

Bassie 从 \(1\) 号农场开始巡逻,每条路必须从两个方向各走恰好一遍,最后回到 \(1\) 号农场。

请输出一条满足上述要求的路径。

保证这样的路径存在。如果有多条路径,任意输出一条即可。

【输入】

第一行两个整数 \(N,M\)

接下来 \(M\) 行,每行两个整数 \(u,v\),描述一条 \(u\)\(v\) 的道路。

【输出】

输出经过的农场,一行一个。

【输入样例】

4 5
1 2
1 4
2 3
2 4
3 4

【输出样例】

1
2
3
4
2
1
4
3
2
4
1

【解题思路】

在这里插入图片描述

【算法标签】

《洛谷 P6066 Watchcow》 #搜索# #深度优先搜索DFS# #欧拉回路# #栈# #USACO# #2005# #Special Judge#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 定义常量
const int N = 10005;        // 最大顶点数
const int M = 50005 * 2;    // 最大边数,无向图需要乘以2int n, m;                   // n: 顶点数, m: 边数
int h[N];                   // 邻接表头数组,h[u]表示顶点u的第一条边的索引
int e[M];                   // 边数组,e[i]表示第i条边的终点顶点
int ne[M];                  // 邻接表next数组,ne[i]表示下一条边的索引
int idx;                    // 边的索引计数器
queue<int> q;               // 队列,用于存储DFS后序遍历的顶点// 添加边的函数
void add(int a, int b)
{e[idx] = b;             // 记录边的终点ne[idx] = h[a];         // 新边指向原来链表的头h[a] = idx++;           // 更新链表头,并递增索引
}// 深度优先搜索函数
void dfs(int u)
{// 遍历顶点u的所有邻接边for (int i = h[u]; i != -1; i = ne[i]){int j = e[i];       // 获取邻接顶点if (j)              // 如果邻接顶点存在{e[i] = 0;       // 标记当前边为已访问dfs(j);         // 递归访问邻接顶点}}q.push(u);              // 后序遍历:在访问完所有邻接顶点后,将当前顶点加入队列
}int main()
{// 初始化邻接表头数组为-1memset(h, -1, sizeof(h));// 读入顶点数和边数cin >> n >> m;// 读入每条边for (int i = 1; i <= m; i++){int u, v;cin >> u >> v;add(u, v);  // 添加u到v的边add(v, u);  // 添加v到u的边(无向图需要双向添加)}// 从顶点1开始深度优先搜索dfs(1);// 输出DFS后序遍历的结果while (!q.empty()){cout << q.front() << endl;q.pop();}return 0;
}

【运行结果】

4 5
1 2
1 4
2 3
2 4
3 4
1
2
3
2
1
4
2
4
3
4
1

P6067 Moo Volume

【题目来源】

洛谷:[P6067 USACO05JAN] Moo Volume S - 洛谷

【题目描述】

Farmer John 的农场上有 \(N\) 头奶牛(\(1 \leq N \leq 10^5\)),第 \(i\) 头奶牛的位置为 \(x_i\)\(0 \leq x_i \leq 10^9\))。

奶牛很健谈,每头奶牛都和其他 \(N-1\) 头奶牛聊天。第 \(i\) 头奶牛和第 \(j\) 头奶牛聊天时,音量为 \(|x_i-x_j|\)

请您求出所有奶牛聊天音量的总和。

【输入】

第一行一个整数 \(N\)

接下来 \(N\) 行,每行一个整数 \(x_i\)

【输出】

输出总音量。

保证答案在 64 位带符号整数的表示范围内。

【输入样例】

5
1
5
3
2
4

【输出样例】

40

【解题思路】

在这里插入图片描述

【算法标签】

《洛谷 P6067 Moo Volume》 #数学# #前缀和# #USACO# #2005#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 定义int为long long类型
#define int long long
// 定义数组最大长度
const int N = 100005;// 变量定义
int n;           // 数字的个数
int a[N];        // 存储输入的数字数组
int sa[N];       // 前缀和数组,sa[i]表示前i个数的某种累加值
int ans;         // 最终结果// 主函数,signed相当于int main,但因为#define int long long,所以用signed
signed main()
{// 读入数字个数cin >> n;// 读入n个数字for (int i = 1; i <= n; i++){cin >> a[i];}// 对数组进行排序,从1到nsort(a + 1, a + n + 1);// 计算sa数组和ansfor (int i = 1; i <= n; i++){// 计算sa[i]:当前数字与前一个数字的差值乘以(i-1),然后加上前一个sa值sa[i] = sa[i - 1] + (a[i] - a[i - 1]) * (i - 1);// 累加sa[i]到ansans += sa[i];}// 输出结果乘以2cout << ans * 2 << endl;return 0;
}

【运行结果】

5
1
5
3
2
4
40

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

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

相关文章

光刻胶用抗氧剂β-(3,5-二叔丁基-4-羟基苯基)丙酸十八碳醇酯

抗氧剂1076分子式1 合成技术与方法抗氧剂1076的合成主要以酯交换反应为核心路径&#xff0c;即由3,5-二叔丁基-4-羟基苯基丙酸甲酯&#xff08;简称3,5甲酯&#xff09;与十八碳醇在催化剂作用下反应制得。1.1 传统两步法工业合成&#xff1a;首先通过加成反应制备中间体3,5甲酯…

在吴忠,遇见你的羽毛球引路人:韩宁波教练与码上俱乐部

在吴忠&#xff0c;遇见你的羽毛球引路人&#xff1a;韩宁波教练与码上俱乐部在吴忠&#xff0c;如果你对羽毛球怀有热情&#xff0c;渴望得到系统而有效的指导&#xff0c;那么“吴忠码上羽毛球俱乐部”的国家二级运动员韩宁波教练&#xff0c;或许正是你在寻找的那位引路人。…

论文质量提升方案:人工智能翻译与写作优化工具推荐

&#xfffd;&#xfffd; 8款英文论文AI写作工具核心对比 工具名称 核心功能 处理速度 适合场景 独特优势 aibiye 降AIGC率查重 20分钟 学术论文优化 适配知网/维普检测规则 aicheck AIGC检测降重 20分钟 AI生成内容处理 双重检测降重一体化 askpaper 学术风格…

在吴忠,有一位很会教羽毛球的韩教练

在吴忠&#xff0c;有一位很会教羽毛球的韩教练在吴忠码上羽毛球俱乐部里&#xff0c;国家二级运动员韩宁波教练的教学有些特别&#xff1a;当学员回球偏离预期时&#xff0c;他的球总能落到学员最舒服的位置&#xff1b;复杂的羽毛球技巧被他转化为“踩着音乐节拍跳华尔兹”这…

SAP赋能新未来:携手哲讯科技,共绘企业数字化转型蓝图

在数字经济浪潮席卷全球的今天,企业正面临着前所未有的机遇与挑战。如何通过数字化转型实现降本增效、提升核心竞争力,已成为企业持续发展的关键课题。作为全球领先的企业管理软件解决方案提供商,SAP以其全面的产品…

超详细的单元测试总结

一、何为单测 测试有黑盒测试和白盒测试之分&#xff0c;黑盒测试顾名思义就是我们不了解盒子的内部结构&#xff0c;我们通过文档或者对该功能的理解&#xff0c;指定了相应的输入参数&#xff0c;然后判断得出的结果是否正确。普通的用户、开发、QA都可以进行黑盒测试。 白…

如何判断一个B2B平台开发服务商是否专业?商联达告诉你

判断 B2B 平台开发服务商是否专业&#xff0c;核心看技术硬实力、行业深耕度、项目交付与服务体系、安全合规能力及可持续发展潜力&#xff0c;商联达结合 12 年产业互联网实战经验&#xff0c;为你拆解可落地的评估标准与验证方法。一、技术硬实力&#xff1a;稳定、先进、可扩…

在吴忠码上俱乐部,遇见你的羽球引路人

在吴忠&#xff0c;有一处备受羽毛球爱好者青睐的活力空间——吴忠码上羽毛球俱乐部。这里&#xff0c;不仅是挥洒汗水的球场&#xff0c;更是一个在专业指导下&#xff0c;系统感受羽毛球魅力、共同成长的社区。俱乐部的核心教练韩宁波&#xff0c;以其国家二级运动员的专业背…

什么是DDOS攻击?以及如何防御DDOS攻击

什么是DDOS攻击&#xff1f; 所谓的 DDoS 攻击&#xff0c;全称是 Distributed Denial of Service&#xff0c;翻译成中文就是分布式拒绝服务。一般来说是指攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求&#xff0c;大规模消耗目标网站的主机资源&#xff0c;让它…

PHP 基础案例教程之 02-PHP 语法基础

基本语法 PHP 标记 PHP 代码可以嵌入 HTML 中使用&#xff0c;为了区分 PHP 代码和 HTML 代码&#xff0c;需要使用 PHP 标记对 PHP 代码进行标识&#xff0c;PHP 的标记分为标准标记和短标记。 PHP 标记的基本用法&#xff1a; <?php 代码块 ?> <? 代码块 ?&…

2025年数据恢复软件免费版最真实推荐—— 18年老工程师深度评测

大家好&#xff0c;我是做了18年数据恢复的工程师&#xff0c;每天都在和各种丢失数据打交道。免费软件到底能不能救数据&#xff1f;我的结论是&#xff1a;能&#xff0c;但极其有限。绝大多数情况下&#xff0c;免费版只能救“轻度丢失”&#xff0c;真正严重的情况&#xf…

力扣337 打家劫舍 III java实现

337.打家劫舍 III 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为 root 。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“房子与之相连。一番侦察之后&#xff0c;聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。…

不同类型的代理服务器解析

代理的差异各不相同 - 尤其是住宅代理和数据中心代理之间。这意味着重新路由和 IP 隐藏的方法因代理类型而异。住宅代理会为每个来自物理设备的连接分配一个新 IP。而数据中心代理服务则从数据中心获取 IP。也就是说&#xff0c;它们不会为每个请求分配新 IP。以下是不同类型的…

Vue.js 前端开发实战之 04-Vue 开发基础(3)

全局 API Vue.directive Vue 中有很多内置指令&#xff0c;除了内置指令外还可以根据需求使用 Vue.directive 注册自定义指令。 Vue.directive 的基本用法&#xff1a; <div id"app"><input type"text" v-指令名称"指令的值"> &…

红队工具箱:进攻性安全运营的必备工具与技术

免责声明&#xff1a; 本文仅用于教育目的。未经授权利用系统是非法行为&#xff0c;将受到法律制裁。保持道德。遵守法律。安全负责。 感谢各位阅读。享受愉快的道德黑客之旅&#xff01;如果喜欢我的工作&#xff0c;请支持我&#xff01; &#x1f525; 红队介绍 红队演…

AMAT 0270-20268

该部件是Applied Materials&#xff08;应用材料公司&#xff09;的备件编号&#xff0c;用于半导体制造设备中的PCII&#xff08;可能是某种工艺腔室&#xff09;钟罩&#xff08;Bell Jar&#xff09;的喷砂&#xff08;Bead Blast&#xff09;夹具。以下是相关信息和可能的用…

如何判断B2B平台开发服务商的技术硬实力?

在产业数字化转型加速推进的当下&#xff0c;B2B电商平台已从简单的信息撮合工具&#xff0c;升级为整合供应链全链路资源的核心基础设施。对于企业而言&#xff0c;选择一家技术硬实力过硬的B2B平台开发服务商&#xff0c;直接决定了平台的稳定性、扩展性与长期运营价值。然而…

学霸同款2026 TOP10 AI论文写作软件:自考毕业论文全攻略

学霸同款2026 TOP10 AI论文写作软件&#xff1a;自考毕业论文全攻略 2026年自考论文写作工具测评&#xff1a;为何需要一份精准榜单&#xff1f; 随着AI技术的不断进步&#xff0c;越来越多的自考学生开始借助AI写作工具提升毕业论文的完成效率。然而&#xff0c;市面上的工具…

【AI避坑指南】pdfQA基准:表格成“拦路虎“,GPT-120B也栽跟头,大模型开发必看!

论文信息&#xff1a;pdfQA: Diverse, Challenging, and Realistic Question Answering over PDFs, Published on arXiv on 5 Jan 2026, by University of Zurich & ETH Zurich ⚡ TL;DR: 现有的 RAG 评测太“干净”了&#xff01;这篇论文推出了 pdfQA——一个包含 4K 高难…

XSS 攻击(详细) 攻击类型、攻击技巧、攻击工具与平台、防御方法

目录 引言 一、XSS 攻击简介 二、XSS 攻击类型 1.反射型 XSS 2.存储型 XSS 3.基于 DOM 的 XSS 4.Self - XSS 三、XSS 攻击技巧 1.基本变形 2.事件处理程序 3.JS 伪协议 4.编码绕过 5.绕过长度限制 6.使用标签 四、XSS 攻击工具与平台 1.XSS 攻击平台 2.BEEF …