分类

c++

幻方(前几天忘发了)
P2615 [NOIP 2015 提高组] 神奇的幻方 时间限制: 1.00s 内存限制: 125.00MB 题目背景 NOIp2015 提高组 Day1T1 题目描述 幻方是一种很神奇的 N×N 矩阵:它由数字 1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。 当 N
2026-02-12
|
3
|
0
|
0
埃拉托斯特尼筛法 - 高效找出所有质数
核心思想:用"排除法"找质数 质数:只能被1和自己整除的数(如2,3,5,7,11...) 合数:能被其他数整除的数(如4,6,8,9,10...) 关键发现:所有合数都是某个质数的倍数! 比如:4=2×2, 6=2×3, 8=2×4, 9=3×3, 10=2×5... 所以,如果我们找到所有质数,
2026-02-12
|
5
|
0
|
0
二分查找中点计算:深入理解除法和右移运算符的选择
一、引言:为什么中点计算很重要? 在算法学习中,二分查找是一个基础但重要的算法。计算中点位置是二分查找的核心步骤之一。看似简单的 (left + right) / 2其实隐藏着不少细节,而 left + (right - left) / 2的写法更值得推荐。本文将详细解释这两种写法,并分析右移运算符
2026-02-11
|
6
|
0
|
0
异或与0的关系:二进制世界的身份保持者
一、为什么 a ^ 0 = a? 这是异或运算最直观的性质。让我们从二进制位的角度来理解: 逐位分析 考虑任意一位 a(0 或 1)与 0 的异或: a 0 a ^ 0 结果等于 a 吗? 0 0 0 ✓ 相同 1 0 1 ✓ 相同 解释
2026-02-10
|
4
|
0
|
0
异或运算:二进制世界的神奇魔术
一、什么是异或运算? 异或(XOR,Exclusive OR)是计算机科学中最基础也最有趣的位运算之一。它的名字"异或"很贴切地描述了其含义:"异"表示不同,"或"表示逻辑或,合起来就是"当且仅当不同时为真"。 基本定义 对于两个二进制位: 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR
2026-02-10
|
6
|
0
|
0
妮妮学姐的取数问题:贪心策略与双端权衡
题目重述与分析 妮妮学姐有一个长度为 n的数组 a,需要执行 k次操作,每次操作有两种选择: 操作A:取走当前数组中的最大元素(消耗1次操作,取走1个元素) 操作B:取走当前数组中的最小和次小元素(消耗1次操作,取走2个元素) 目标是在 k次操作后,取走的元素总和最小。 关键约束:2k<n,这意味着
2026-02-09
|
5
|
1
|
0
依旧是贪心
P1803 凌乱的yyy / 线段覆盖 时间限制: 3.00s 内存限制: 512.00MB 题目背景 Python 用户可以尝试使用 pypy3 提交试题。 快 noip 了,yyy 很紧张! 题目描述 现在各大 oj 上有 n 个比赛,每个比赛的开始、结束的时间点是知道的。 yyy 认为,参加越
2026-02-07
|
4
|
0
|
0
部分背包(比较简单,需要注意是否越界访问等问题)
P2240 【深基12.例1】部分背包问题 时间限制: 1.00s 内存限制: 125.00MB 题目描述 阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N(N≤100) 堆金币,第 i 堆金币的总重量和总价值分别是 mi,vi(1≤mi,vi≤100)。阿里巴巴有一个承重量为 T(T≤1000)
2026-02-06
|
5
|
0
|
0
孩子们,我回来了(写了个简单题)
P1223 排队接水 时间限制: 1.00s 内存限制: 125.00MB 题目描述 有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。 一个人的等待时间不包括他的接水时间。 如果两个人接水的时间相同,编号更小的
2026-02-04
|
5
|
2
|
0
printf函数详细教程(给C++学习者的特别指南)
一、printf是什么? printf是C语言的输出函数,在C++中也可以使用。它与cout相比: cout:面向对象的流输出 printf:函数式格式化输出 简单对比: // cout方式 cout << "Hello, " << name << "! Age: " << age << endl;
2026-01-29
|
7
|
0
|
0