按位运算是直接操作数据二进制位的底层运算,在C++中提供了对整数类型进行位级操作的强大能力。掌握它,你就能写出更高效、更巧妙的代码。 一、六大按位运算符 1. 按位与 & 对应位都为1时结果为1,否则为0。 int a = 5; // 0101 int b = 3; // 0011 int c = a & b; // 0001,即1…
一、题目描述 1. 问题背景 阿坤老师带来了一个特殊的魔方,其每个面都是一个 N×N 的整数方阵。学生可以对魔方的任意一面进行如下操作:将矩阵的任意一行或任意一列的所有元素,沿该行(或该列)循环移动任意整数个位置。目标是经过若干次(包括零次)这样的操作后,使得方阵主对角线(从左上角到右下角,即位置 (0,0), (1,1), …, (N-1, N-…
发帖人: 溜剩蔚时间: 大景朝·华科历元年·期末考试周前夜地点: 三才院·甲字十一号同修道院众所周知,我们甲字十一号有一位除了睡觉就是修仙、除了修仙就是搞发明的室友——牢殿宫。起初,我以为他只是单纯的卷王,直到昨晚我深夜起夜,发现他正对着一面镜子练习“微积分手印”,那一刻,我脑海中诞生了一个惊天猜想。经过我长达三炷香时间的缜密推理(其实是在跑代码编…
“动手术?” 溜剩蔚愣了一下,还没反应过来,就见牢殿宫从床底拖出了一个古朴的檀木箱子。 箱子打开的瞬间,一股冷冽的金属气息扑面而来。 里面整整齐齐地摆放着各种奇形怪状的工具:有的像银蛇,有的如玄鸟,还有一卷卷缠绕在一起的紫铜细线。而在正中央,静静躺着一把通体乌黑、前端尖锐的细长器具——玄铁烙铁。 “这是……上古法器?”溜剩蔚吞了吞口水。 “这叫恒温…
大景朝的夏日,向来是不讲道理的。 正当午时,喻家山麓的蝉鸣声如雷贯耳,仿佛要把空气都震碎。三才院·甲字十一号同修道院内,气氛更是沉闷得让人窒息。 自从那位神秘的启明斋主被带走后,甲字十一号便空出了一方床位。没过两日,书院便安排了一位新同修补入。 这位新室友姓甚名谁,至今仍是个谜。 并非他高冷莫测,而是此人存在感低得令人发指。他身形普通,面容普通,甚…
P1957 口算练习题 时间限制: 1.00s 内存限制: 512.00MB 复制 Markdown 中文 退出 IDE 模式 题目描述 王老师正在教简单算术运算。细心的王老师收集了 i 道学生经常做错的口算题,并且想整理编写成一份练习。编排这些题目是一件繁琐的事情,为…
这是一个关于科学思维碾压传统经验的爽文故事,讲述寒门少年陈昱霖如何凭借自创的"徽积之学"(微积分)和"太乙相面术"(类似人脸识别的算法)在殿试中被儒学士大夫排挤,却意外被来自异界的"华中科大"录取,最终以现代科学知识对传统修真界进行降维打击的传奇经历。 第一章:沙盘推演 陈昱霖生于大明万历年间,虽是寒门出身,却天生慧根,才智近妖。十三岁那年,他在村…
P1789 【Mc生存】插火把 时间限制: 1.00s 内存限制: 125.00MB 题目描述 话说有一天,linyorson 在“我的世界”中开了一个 n×n 的方阵。现在他有 m 个火把和 k 个萤石,分别放在 (x1,y1)∼(xm,ym)…
快速幂是一种高效计算幂运算的算法,核心思想是将指数进行二进制分解,从而将计算复杂度从 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…
P1010 [NOIP 1998 普及组] 幂次方 时间限制: 1.00s 内存限制: 125.00MB 题目描述 任何一个正整数都可以用 2 的幂次方表示。例如 137=27+23+20。 同时约定次方用括号来表示,即 ab 可表示为 a(b)。 由此可知,13…
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…
P1553 数字反转(升级版) 时间限制: 1.00s 内存限制: 125.00MB 题目背景 以下为原题面,仅供参考: 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数…
引言 在算法竞赛和实际开发中,全排列生成是常见需求。当需要输出大量排列时,整齐的排版能显著提升可读性。本文基于文档中的 STL 全排列代码,详细讲解如何实现“每个数字保留 5 个场宽”的规范输出,并提供多种实现方案。 核心概念:场宽(Field Width) 场宽是指输出数据在屏幕上所占用的最小字符宽度。通过设置场宽,可以确保数据对齐,使输出结果整…
题目描述 液晶屏上,每个阿拉伯数字都是可以显示成 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的写法更值得推荐。本文将详细解释这两种写法,并分析右移运算符 >>的作用和注意事项。 二、两种基本…
一、为什么 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是什么? printf是C语言的输出函数,在C++中也可以使用。它与cout相比: cout:面向对象的流输出 printf:函数式格式化输出 简单对比: // cout方式 cout << "Hello, " << name << "! Age: " << age << …