摘要: 通过向 chatGPT-4o-mini 提问,我注意到所有爬山法可以解决的问题模拟退火都可以解决,所以爬山法死了我不想学爬山法。 具体的,对于一个多峰函数求解最值的题目都可以用模拟退火来做。 如果现在在较优解 \(x\),发现了一个新的解 \(x'\),如果 \(x'\) 比 \(x\) 优那么 \ 阅读全文
posted @ 2024-10-12 23:12 未抑郁的刘大狗 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目大意 构造一个简单无向图,是所有的有度的点的度都是质数而且总共的边的数量的个数是质数。 思路 因为需要让所有的入度都为质数,所以我们可以找到两个相邻的质数 \(2,3\),因为这样即使增加了一条边那么这个节点的度也是质数。 先将这个图构成一个巨大的环,接着如果所有的边数并不是质数,那么就随便找两 阅读全文
posted @ 2024-07-14 13:47 未抑郁的刘大狗 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定两个正整数 \(l, r\),将 \(l\) 不断加 \(1\) 直到 \(l = r\),求出这一过程中 \(l\) 发生变化的位数总数。 \(1 \le l < r \le 10^9\)。 思路 假设从 \(l\) 处理到 \(r\) 变化的次数为 \(f(l,r)\)。 因为直接 阅读全文
posted @ 2024-07-14 13:47 未抑郁的刘大狗 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求出从 \(l\) 至 \(r\) 中满足以下条件的 \((x,y)\) 的个数。 \(\gcd(x,y) \ne 1\) 且 \(\gcd(x,y)\ne x\) 且 \(\gcd(x,y)\ne y\)。 其中 \(1\le l\le r\le 10^6\)。 思路 正难则反,所以可以 阅读全文
posted @ 2024-07-14 13:46 未抑郁的刘大狗 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 哈希 我们定义一个把字符串映射到整数的函数 \(f\),这个 \(f\) 称为是 Hash 函数,我们希望这个函数 \(f\) 可以方便地帮我们判断两个字符串是否相等,这就是哈希。 一般来说,哈希值都是使用 \(hash_i=(base\cdot hash_{i-1} +s_i)\%mod\) 这个 阅读全文
posted @ 2024-07-14 13:46 未抑郁的刘大狗 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有一个由 \(H\) 行和 \(W\) 列组成的网格,每个单元格的边长为 \(1\) ,我们有 \(N\) 块瓷砖。第 \(i\) 个图块 (\(1\le i\le N\)) 是一个大小为 \(A_i\times B_i\) 的矩形。请判断是否有可能将这些图块放置在网格中,从而满足以下所有 阅读全文
posted @ 2024-07-14 13:46 未抑郁的刘大狗 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题目大意 在第 \((i,j)\) 个格子修建一个桥墩需要 \(a_{i,j}+1\) 的花费而且要求 \((i,0)\) 与 \((i,m)\) 必须修建桥墩并且桥墩之间的距离不得大于 \(d\)。现在需要求见 \(k\) 个连续的桥,求最小代价。 其中 \(1\le k\le n \le 100 阅读全文
posted @ 2024-07-14 13:45 未抑郁的刘大狗 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有 \(n\) 个人投球,投了 \(m\) 次。第 \(i\) 次投球时想左、右或者随便一个方向投掷 \(r_i\) 个人。从第 \(x\) 个人开始投球,询问最后球在最后有可能在谁的手里。 其中 \(1\le n,m \le 1000,1\le x,r\le n,\sum n\cdot 阅读全文
posted @ 2024-07-14 13:45 未抑郁的刘大狗 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目大意 令 \(d(x)\) 表示 \(x\) 的正因子数量,给定 \(n,q\)。现有两种操作: 给定 \(x\),令 \(n\gets n\cdot x\)。同时询问是否存在一个正整数 \(a\) 满足 \(\gcd(a,n)=1\) 且 \(d(n\cdot a)=n\)。 将 \(n\) 阅读全文
posted @ 2024-07-14 13:44 未抑郁的刘大狗 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定 \(l,r\) 和一个长为 \(r−l+1\) 的所有数都不相等的序列 \(a\)。请你找到任意一个数 \(x\) 满足序列 \(a\) 中的所有数异或上 \(x\) 后正好为 \([l,l+1,\cdots,r−1,r]\) 的一个排列。 \(t\) 组数据,\(1\leqslan 阅读全文
posted @ 2024-07-14 13:44 未抑郁的刘大狗 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目大意 现在需要使用从小写字母 \(a\) 开始的 \(k\) 种字符,构造一个长度为 \(n\) 的字符串 \(s\),使满足 \(i,j\in[1,n-1],i\neq j\) 且 \(a_i=a_j,a_{i+1}=a_{j+1}\) 的数对的数量最少。 其中 \(1\le n \le 2\ 阅读全文
posted @ 2024-07-14 13:43 未抑郁的刘大狗 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定一个字符串,字符串中字符为 \(\texttt{D}\) 或 \(\texttt{R}\),代表两个团队。从 \(1\) 开始,每个人都有发言的权利,发言时,可以禁言一个人,使那个人以后都不能发言。 如果一圈发言完还有1个以上的人能发言,就从 \(1\) 重新开始,直到只有 \(1\) 阅读全文
posted @ 2024-07-14 13:43 未抑郁的刘大狗 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你 \(n(2\le n\le 2\times 10^5)\) 个,第 \(i\) 个点在第 \(x_i\) 行从 \(y_i\) 开始向 \(s_i\) 一直移动,判断是否会有点在运动时与其他点重合。 思路 因为每一个点只会在 \(y_i\) 行移动,所以每一行都是单独的,可以分开讨论 阅读全文
posted @ 2024-07-14 13:42 未抑郁的刘大狗 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有 \(n\) 个人 \(m\) 个活动,告诉你每一个人对于活动喜欢程度的排序,你可以鸽掉一些活动。如果一个最喜欢的活动被鸽了,那么他就会参加次喜欢的,依次类推直到参加为止。 求参加人数最多的那个项目,参加人数最少是多少。 思路 做法: 首先模拟出每一个活动的参加人数,依次将人数最多的活动 阅读全文
posted @ 2024-07-14 13:42 未抑郁的刘大狗 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目大意 就是普通的石子合并,但是添加了限制条件:每一堆石子合并的次数不能超过 \(k\) 次。 思路 对于普通的石子合并,将除了最大的石子外的所有的石子全部合并到最大的石子上肯定是最优的。 证明: 假设石子的重量为 \(a_1,a_2,a_3,\cdots ,a_{n+1},a_n\),且满足对于 阅读全文
posted @ 2024-07-14 13:42 未抑郁的刘大狗 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个 \(n\times n\) 的数组 \(C\),\(c_{i,j}=a_i+b_j\),求 \(a\) 数组与 \(b\) 数组,不保证有解,其中 \(1\le n\le 500,1\le c_{i,j}\le 10^9\),而且 \(a_i,b_i\) 都是非负整数。 \[\b 阅读全文
posted @ 2024-07-14 13:41 未抑郁的刘大狗 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 题面大意 动物园里有 \(n\) 个动物,第 \(i\) 个动物害怕第 \(a_i\) 个动物,第 \(i\) 个动物价值 \(c_i\) 元。现在我要将这些动物全部卖掉。显然,卖掉的动物编号可以构成一个排列 \(p\)。 考虑卖掉这些动物时: 若 \(a_i\) 在 \(i\) 还没有卖掉之前就被 阅读全文
posted @ 2024-07-14 13:41 未抑郁的刘大狗 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你 \(n\) 个炸弹,第 \(i\) 个炸弹在 \((x_i,y_i)\) 的位置,可以将这一行与这一列的距离小于 \(k\) 的其他所有炸弹引爆,而且连锁的引爆不需要时间。每一秒你可以引爆一个炸弹,其中第 \(0\) 秒也可以引爆,并且第 \(i\) 个炸弹在第 \(timer_i\ 阅读全文
posted @ 2024-07-14 13:40 未抑郁的刘大狗 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 在发布了文章 Treap 学习笔记后我认为我的平衡树能力已经登峰造极了。 但是 Treap 真 tmd 太难写了,所以我们的 czy 大佬开发除了一种可以优雅的踩爆 Treap 的绝佳方案。 #include<bits/stdc++.h> using namespace std; int n; st 阅读全文
posted @ 2024-07-14 13:40 未抑郁的刘大狗 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意 有 \(2\times n\) 个人站成一排,然后给每个人分配一个 \(1\) 至 \(n\) 之间的数字,每种数字出现 \(2\) 次。 现在,你可以进行两种操作: 删除操作,将数字相同且相邻的两人删除,删除后两端剩下的队列合并。 交换操作,交换相邻两个人的位置。 每次,问至少操作多少次 阅读全文
posted @ 2024-07-14 13:40 未抑郁的刘大狗 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给你一个机器人和机器人的 \(n\) 个运动,要求你在给出的运动路径的基础上设计一种不会走重复的路径的方法,注意只能减少原来的步数而不能增加,其中 \(1\le n\le 10^5\)。 思路 因为这道题目可以自由的配置路径并且要求机器人在最后回到原来的位置,那么就应该要到一种适合所有的移 阅读全文
posted @ 2024-07-14 13:39 未抑郁的刘大狗 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目大意 一共 \(2N\) 个学生站成一排,其中有 \(M\) 对朋友关系。老师每次从队列中挑出两个相邻的学生作为同桌。为了关系和睦,每次选出的两个学生必须是朋友关系。选出的两个学生离开队列,空出来的位置左右合拢。 请问老师有多少种方式选完所有学生?对于两种选人的方案,即使同桌关系相同,只要离开队 阅读全文
posted @ 2024-07-14 13:38 未抑郁的刘大狗 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题意 选择一些 \(n\) 一下互质的二元组 \(\{a,b\}\),求对于任意 \(x\in \big[2,n\big]\) 都不满足 \(a,b<x\) 和 \(a,b\ge x\) 的个数。 简化题意 因为无解的情况只发生在所有的 \(\{a,b\}\) 之间没有多余的位置用于放置 \(x\) 阅读全文
posted @ 2024-07-14 13:38 未抑郁的刘大狗 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目大意 在一个长度为 \(n\) 的排列中找出逆序对数量恰好为 \(c\) 的排列总数,其中 \(1\le n \le 10^3,1\le c \le 10^4\)。 思路 考虑将 \(1\) 到 \(n\) 这些数从小到大一次填进去,因为每一次填入的数多是最大的,所以逆序对增加的数量只与其所在的 阅读全文
posted @ 2024-07-14 13:37 未抑郁的刘大狗 阅读(8) 评论(0) 推荐(0) 编辑
摘要: CCF考纲 CSP-J 程序基本概念1.0 标识符,关键字,常量,变量,字符串,表达式的概念 常量与变量的命名,定义及作用 头文件与名字空间的概念 编辑,编译,解释,调试的概念 基本数据类型 整数型:int,long long 实数型:float,double 字符型:char 布尔型:bool 程 阅读全文
posted @ 2024-07-14 13:37 未抑郁的刘大狗 阅读(24) 评论(0) 推荐(0) 编辑