口算练习题
P1957 口算练习题 时间限制: 1.00s    内存限制: 512.00MB  复制 Markdown  中文 退出 IDE 模式 题目描述 王老师正在教简单算术运算。细心的王老师收集了 i 道学生经常做错的口算题,并且想整理编写成一份练习。编排这些题目是一件繁琐的事情,为…
异世界番外——科举奇才·牢殿宫
这是一个关于科学思维碾压传统经验的爽文故事,讲述寒门少年陈昱霖如何凭借自创的"徽积之学"(微积分)和"太乙相面术"(类似人脸识别的算法)在殿试中被儒学士大夫排挤,却意外被来自异界的"华中科大"录取,最终以现代科学知识对传统修真界进行降维打击的传奇经历。 第一章:沙盘推演 陈昱霖生于大明万历年间,虽是寒门出身,却天生慧根,才智近妖。十三岁那年,他在村…
插火把
P1789 【Mc生存】插火把 时间限制: 1.00s    内存限制: 125.00MB 题目描述 话说有一天,linyorson 在“我的世界”中开了一个 n×n 的方阵。现在他有 m 个火把和 k 个萤石,分别放在 (x1​,y1​)∼(xm​,ym​)…
快速幂(Exponentiation by squaring)
快速幂是一种高效计算幂运算的算法,核心思想是将指数进行二进制分解,从而将计算复杂度从 O(n) 降低到 O(log n)。 算法原理: 计算 a^b,将 b 写成二进制形式,例如 b = 13 (二进制 1101),则 a^13 = a^(8) * a^(4) * a^(1)。通过反复平方 a 并检查二进制位,可快速得到结果。 迭代实现(常用): …
好久没更新算法动态(这几天写的全是简单题)
P1980 [NOIP 2013 普及组] 计数问题 时间限制: 1.00s    内存限制: 125.00MB 题目背景 NOIP2013 普及组 T1 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1 到…
《我考上华科后,全村人都懵了》——第四章:北崖基地的“蛇语”
第四章:北崖基地的“蛇语” 启明斋主的离去,像是在甲十一号宿舍平静的水面上投下了一枚巨石。虽然涟漪终会散去,但那股名为“规则”的暗流已经彻底改变了牢殿宫的志向。 次日清晨,当第一缕带有金属质感的晨曦穿透三才院的古木流光时,牢殿宫已经背起了那只装满大景朝废弃草稿的布包。他没有走向书声琅琅的经史楼,也没有前往演武呐喊的校场,而是逆着人流,独自走向了校园…
《我考上华科后,全村人都懵了》——第三章:天机寻断:无名者的升迁
第三章:天机寻断:无名者的升迁 华中科技大学的选拔,从来不看你的肌肉有多强横,也不看你的家世有多显赫。 入学第二周,华科核心区域的“能量中枢”发生了一次极其罕见的异变。原本平静的防御层上空,突然出现了无数道交织如网的红色裂痕,每一道裂痕都伴随着令人心悸的尖锐鸣叫。 这不是传统意义上的地震或灾害,而是校园底层运行逻辑中,出现了无法兼容的代码冲突。 “…
《我考上华科后,全村人都懵了》——第二章:三才院·甲字十一号
第二章:三才院·甲字十一号 灵枢巨舰在时空的褶皱中平稳穿行。牢殿宫站在悬窗前,看着下方的大景山河迅速化为一粒微尘。那些曾经困扰他的金殿流言、太傅的斥责、乡邻的嘲弄,在巨舰引擎发出的低频震动中,仿佛成了上辈子的荒唐梦境。 “前方即将抵达——华中科技大学。” 巨舰停泊在一片无边无际的古木巨林上空。这里并非凡人想象中冰冷的钢铁丛林,而是一种自然与逻辑高度…
《我考上华科后,全村人都懵了》——第一章:落第书生与“奇技淫巧”
第一章:金殿弃子与天外来客 大景朝景和三十年,春。 金銮殿内的龙涎香气厚重如铁,压抑得令人窒息。牢殿宫跪在冰冷的白玉石砖上,额头抵着地面,他的面前,那份倾注了数年心血的策论考卷,已被当朝太傅林远之亲手撕成了整齐的碎片。 “简直荒谬,简直是斯文扫地!”林远之那双苍老的手微微颤抖,指着地上的碎纸怒喝道,“殿试考的是边陲军需转运之策,要的是圣贤兵法,要的…
一个功能简单的画画程序
opencv画图练习:目前只做到矩形之间会有覆盖,矩形只能越画越大,颜色,宽度可调 import cv2 as cv import numpy as np img = np.zeros((512,512,3),np.uint8) cv.namedWindow('image') def nothing(x): pass cv.createTrackb…
幂次方递归(回归C++)
P1010 [NOIP 1998 普及组] 幂次方 时间限制: 1.00s    内存限制: 125.00MB 题目描述 任何一个正整数都可以用 2 的幂次方表示。例如 137=27+23+20。 同时约定次方用括号来表示,即 ab 可表示为 a(b)。 由此可知,13…
Python nb(陈年旧题)
P1009 [NOIP 1998 普及组] 阶乘之和 时间限制: 1.00s    内存限制: 125.00MB 题目描述 用高精度计算出 S=1!+2!+3!+⋯+n!(n≤50)。 其中 ! 表示阶乘,定义为 n!=n×(n−1)×(n−2)×⋯×1。例如,5!=5×4×3×2×1=1…
用Python写的
P1553 数字反转(升级版) 时间限制: 1.00s    内存限制: 125.00MB 题目背景 以下为原题面,仅供参考: 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数…
C++ 全排列输出格式化:场宽控制完全指南
引言 在算法竞赛和实际开发中,全排列生成是常见需求。当需要输出大量排列时,整齐的排版能显著提升可读性。本文基于文档中的 STL 全排列代码,详细讲解如何实现“每个数字保留 5 个场宽”的规范输出,并提供多种实现方案。 核心概念:场宽(Field Width) 场宽是指输出数据在屏幕上所占用的最小字符宽度。通过设置场宽,可以确保数据对齐,使输出结果整…
P5730 【深基5.例10】显示屏
题目描述 液晶屏上,每个阿拉伯数字都是可以显示成 3×5 的点阵的(其中 X 表示亮点,. 表示暗点)。现在给出数字位数(不超过 100)和一串数字,要求输出这些数字在显示屏上的效果。数字的显示方式如同样例输出,注意每个数字之间都有一列间隔。 输入格式 第一行输入一个正整数 n,…
幻方(前几天忘发了)
P2615 [NOIP 2015 提高组] 神奇的幻方 时间限制: 1.00s    内存限制: 125.00MB 题目背景 NOIp2015 提高组 Day1T1 题目描述 幻方是一种很神奇的 N×N 矩阵:它由数字 1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都…
埃拉托斯特尼筛法 – 高效找出所有质数
核心思想:用"排除法"找质数 质数:只能被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... 所以,如果我们找到所有质数,然后把它们的倍数都去掉,剩下的就是质数。 具体操作…
二分查找中点计算:深入理解除法和右移运算符的选择
一、引言:为什么中点计算很重要? 在算法学习中,二分查找是一个基础但重要的算法。计算中点位置是二分查找的核心步骤之一。看似简单的 (left + right) / 2其实隐藏着不少细节,而 left + (right - left) / 2的写法更值得推荐。本文将详细解释这两种写法,并分析右移运算符 >>的作用和注意事项。 二、两种基本…
异或与0的关系:二进制世界的身份保持者
一、为什么 a ^ 0 = a? 这是异或运算最直观的性质。让我们从二进制位的角度来理解: 逐位分析 考虑任意一位 a(0 或 1)与 0 的异或: a0a ^ 0结果等于 a 吗?000✓ 相同101✓ 相同 解释: 当 a = 0 时:0 ^ 0 = 0 → 结果还是 0 当 a = 1 时:1 ^ 0 = 1 → 结果还是 1 关键观察:0 …
异或运算:二进制世界的神奇魔术
一、什么是异或运算? 异或(XOR,Exclusive OR)是计算机科学中最基础也最有趣的位运算之一。它的名字"异或"很贴切地描述了其含义:"异"表示不同,"或"表示逻辑或,合起来就是"当且仅当不同时为真"。 基本定义 对于两个二进制位: 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 用简单的话说…
妮妮学姐的取数问题:贪心策略与双端权衡
题目重述与分析 妮妮学姐有一个长度为 n的数组 a,需要执行 k次操作,每次操作有两种选择: 操作A:取走当前数组中的最大元素(消耗1次操作,取走1个元素) 操作B:取走当前数组中的最小和次小元素(消耗1次操作,取走2个元素) 目标是在 k次操作后,取走的元素总和最小。 关键约束:2k<n,这意味着无论如何选择操作,都不会取完所有元素。 核心…
依旧是贪心
P1803 凌乱的yyy / 线段覆盖 时间限制: 3.00s    内存限制: 512.00MB 题目背景 Python 用户可以尝试使用 pypy3 提交试题。 快 noip 了,yyy 很紧张! 题目描述 现在各大 oj 上有 n 个比赛,每个比赛的开始、结束的时间点是知道的。 yyy 认为,参加越多的…
部分背包(比较简单,需要注意是否越界访问等问题)
P2240 【深基12.例1】部分背包问题 时间限制: 1.00s    内存限制: 125.00MB 题目描述 阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N(N≤100) 堆金币,第 i 堆金币的总重量和总价值分别是 mi​,vi​(1≤mi​,vi​≤100)。阿里巴巴有…
孩子们,我回来了(写了个简单题)
P1223 排队接水 时间限制: 1.00s    内存限制: 125.00MB 题目描述 有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti​,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。 一个人的等待时间不包括他的…
printf函数详细教程(给C++学习者的特别指南)
一、printf是什么? printf是C语言的输出函数,在C++中也可以使用。它与cout相比: cout:面向对象的流输出 printf:函数式格式化输出 简单对比: // cout方式 cout << "Hello, " << name << "! Age: " << age << …
C++ map 和 unordered_map 详解
一、基本概念对比 1. 共同点 都是关联容器,存储键值对(key-value pairs) 提供快速的查找、插入、删除操作 键(key)唯一,不能重复 2. 核心区别 特性mapunordered_map底层实现​红黑树(平衡二叉搜索树)哈希表排序​按键的升序自动排序无序查找时间复杂度​O(log n)平均O(1),最坏O(n)内存占用​较低较高(…
浮点数输出精度控制与舍入规则详解
一、为什么要控制精度和舍入? 1.1 问题演示 #include <iostream> using namespace std; int main() { double a = 1.0 / 3; // 0.3333333333333333... double b = 2.0 / 3; // 0.6666666666666666... c…
范围for循环(Range-based for loop)总结
一、核心语法格式 for (元素类型 变量名 : 容器) { // 循环体 } 记忆口诀:for (类型 名字 : 容器) 二、三种使用方式对比 写法用途能否修改原数据效率for (char c : s)只读遍历,创建副本❌ 不能较低(有拷贝开销)for (char& c : s)可修改遍历,引用原数据✅ 能高(无拷贝)for (const…
C++ stack(栈)容器详解
一、什么是栈? 基本概念 栈(stack)​ 是一种 先进后出(First In Last Out, FILO)​ 的数据结构,它只有一个出口。 生活比喻 想象一叠盘子: 放盘子(入栈):只能放在最上面 取盘子(出栈):只能从最上面取 特点:最后放上去的盘子最先被取走 二、栈的重要特性 关键限制:不能遍历! stack<int> s; …
vector 遍历方法总结(适合初学者)
一、核心概念回顾 遍历​ = 按顺序访问容器中的每个元素 二、一维 vector 的遍历方法 方法1:下标遍历(最简单直观) vector<int> v = {10, 20, 30, 40, 50}; // 1.1 传统for循环 for (int i = 0; i < v.size(); i++) { cout <<…