摘要: 汉诺塔问题: include using namespace std; // 递归函数:把 n 个盘子 从 from 借助 tmp 移到 to void hanoi(int n, char from, char tmp, char to) { // 递归出口:只剩 1 个盘子,直接移 if (n = 阅读全文
posted @ 2026-03-31 11:49 lagranSun 阅读(1) 评论(0) 推荐(0)
摘要: 牛客 冰冻青蛙 如果一个青蛙的编号为 x x,满足 gcd ⁡ ( x , 999 999 999 ⏟ 9 个 9 ) ≠ 1 include include include using namespace std; using ll=long long; const ll num=99999999 阅读全文
posted @ 2026-03-30 20:23 lagranSun 阅读(2) 评论(0) 推荐(0)
摘要: 最大公因数: 1.使用中的gcd() 2.辗转相除法: int gcd(int a,int b) { while(b!=0) { int tmp=b; b=a%b; a=tmp; } return a; } 最小公倍数: 1.使用中的lcm() 2.int lcm(int a,int b) { re 阅读全文
posted @ 2026-03-27 20:40 lagranSun 阅读(1) 评论(0) 推荐(0)
摘要: 一个整数可以分解为多少个质数相乘 ll get_cnt(ll x) { if(x0)return 0; ll cnt=0; //记录个数 while((x%2)0)//先整除2 { x/=2; cnt++; } for(ll i=3;i<=x/i;i+=2)//整除奇数 循环到根号x { while 阅读全文
posted @ 2026-03-26 21:58 lagranSun 阅读(1) 评论(0) 推荐(0)
摘要: 牛客 小红的不动点分配 小红拿到了 2 × n 2×n 个元素,现在她想将这些元素划分为两组(每组恰好 n n 个元素),且两组内部的顺序均可任意重排。 她想知道,这两个数组的不动点数量之和最多是多少,请你帮帮她。 【名词解释】 不动点:定义整数 i ( 1 ≦ i ≦ m ) i(1≦i≦m) 是 阅读全文
posted @ 2026-03-25 21:56 lagranSun 阅读(2) 评论(0) 推荐(0)
摘要: C++ 左移 (<<)、右移 (>>) 用法总结 左移 << = 快速 × 2ⁿ x << 1 → x * 2 x << 2 → x * 4 x << k → x * 2^k 右移 >> = 快速 ÷ 2ⁿ(向下取整) x >> 1 → x / 2(整数除法,向下取整) x >> k → x / 2 阅读全文
posted @ 2026-03-24 21:40 lagranSun 阅读(5) 评论(0) 推荐(0)
摘要: & | ^在cpp中的用法: 按位与(&)的快捷用法 (1)判断奇偶(替代 %2) 原理:奇数的二进制最低位是 1,偶数是 0,a&1 可提取最低位; if (x & 1) cout << "奇数"; // 等价于 x%2==1,效率更高 if (!(x & 1)) cout << "偶数"; (2 阅读全文
posted @ 2026-03-23 21:54 lagranSun 阅读(1) 评论(0) 推荐(0)
摘要: 牛客最大正方形 题目: 对于给定的 n × n n×n 的、仅由 "" "" 和 \texttt{ 构成的矩阵中,找到一个边长最大的正方形,使得正方形的四个顶点均为字符 \texttt{ 。 输入描述: 第一行输入一个整数 n ( 1 ≦ n ≦ 100 ) n(1≦n≦100) 代表矩阵大小。 此 阅读全文
posted @ 2026-03-21 21:58 lagranSun 阅读(4) 评论(0) 推荐(0)
摘要: 小红定义一个长度为 4 4 的数组为“三带一”,当且仅当其包含三个相同的元素和另一个不同的元素。 现在小红拿到了一个长为 n n 的数组,他想知道该数组最多包含多少个互不相交的“三带一”连续子数组,请你帮帮他。 输入描述: 第一行输入一个整数 n ( 4 ≦ n ≦ 2 × 1 0 5 ) n(4≦ 阅读全文
posted @ 2026-03-19 22:24 lagranSun 阅读(3) 评论(0) 推荐(0)
摘要: 撰写外包杯初步方案 阅读全文
posted @ 2026-03-18 21:38 lagranSun 阅读(3) 评论(0) 推荐(0)