1 2 3 4 5 ··· 56 下一页
摘要: #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream fans("1.ans"); // 答案文件,命名为fans变量 ifstream fout("1. 阅读全文
posted @ 2025-10-31 21:17 CRt0729 阅读(7) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-09-26 17:03 CRt0729 阅读(65) 评论(0) 推荐(0)
摘要: 一、 创建选手准考号文件夹(2024GX已经实现桌面本身就有考好文件夹了) 1. 桌面创建准考证号文件夹,以GX-001举例 右键-新建文件夹 2. 在GX-001文件夹里,创建每道题目的英文名称文件夹(这里拿2024年CSP-J举例) 一共有4题,英文名分别是poker,explore,stick 阅读全文
posted @ 2025-09-12 15:52 CRt0729 阅读(687) 评论(0) 推荐(3)
摘要: 一、 VMware虚拟机和NOI linux系统的下载 VMware虚拟机的下载链接 NOI linux2.0系统的下载链接 下载好后硬盘里长这样 二、 VMware虚拟机的安装 省流:虚拟机的安装基本都是下一步就好了,除了win11打开后会说系统拦截了安装程序,从更多信息里找到仍要运行即可 1.下 阅读全文
posted @ 2025-09-12 14:33 CRt0729 阅读(813) 评论(0) 推荐(0)
摘要: Dev C++ 5.11版本下载链接 头文件框架 #include<iostream> //导入C++头文件 #include<stdio.h> //导入C语言头文件 #include<bits/stdc++.h> //导入万能头文件 using namespace std; //使用命名空间,如果 阅读全文
posted @ 2023-04-09 23:54 CRt0729 阅读(854) 评论(0) 推荐(1)
摘要: 解题思路 这个问题分为两个部分: 第一部分:求最大段长度的最小值(二分答案) 使用二分查找确定最小的最大段长度 对于每个候选值mid,用贪心检查是否能分成最多m+1段(切m刀) 检查时尽量把木棍合并,直到超过mid就开新段 第二部分:求方案数(动态规划) f[j]表示考虑前j根木棍,当前切割段的方案 阅读全文
posted @ 2025-11-20 14:41 CRt0729 阅读(7) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; const int N=460; int n,w,d,ans,dp[2][N][N*N],a[N]; // dp使用滚动数组优化空间 signed main(){ ios::sync_with_stdio(0) 阅读全文
posted @ 2025-10-30 21:44 CRt0729 阅读(6) 评论(0) 推荐(0)
摘要: 解题思路 核心观察:每次使用镜子相当于进行一次对称变换,位置从 a 变为 2b - a。经过数学推导可以发现,最终的终点位置可以表示为: 终点 = 2×(某些镜子的位置) - 2×(另一些镜子的位置) + ... + (-1)^N × 初始位置 关键规律: 当镜子数量为偶数时,最终位置与初始位置的符 阅读全文
posted @ 2025-10-26 09:37 CRt0729 阅读(9) 评论(0) 推荐(0)
摘要: 解题思路 点双连通分量 是指一个无向图的极大连通子图,其中不包含割点(删除任意一个点后图仍然连通)。换句话说,点双连通分量中的任意两点都位于至少一个简单环中。 核心算法:使用 Tarjan 算法,通过 DFS 遍历图,利用 dfn(深度优先搜索序号)和 low(能追溯到的最早祖先的 dfn)来识别割 阅读全文
posted @ 2025-10-10 20:42 CRt0729 阅读(23) 评论(0) 推荐(0)
摘要: 解题思路 问题分析: 给定有向图,每个点有权值,求路径最大点权和 允许重复经过边和点,但重复点的权值只计算一次 关键:强连通分量内的点可以任意走,权值只需累加一次 Tarjan缩点算法: 求强连通分量(SCC):使用Tarjan算法找出所有SCC 缩点建新图:将每个SCC缩成一个节点,形成DAG 拓 阅读全文
posted @ 2025-10-09 21:37 CRt0729 阅读(7) 评论(0) 推荐(0)
摘要: 解题思路 割点(割顶):在一个无向图中,如果删除某个顶点以及与之相连的所有边后,图的连通分量数量增加,则该顶点称为割点。 Tarjan算法求割点的核心思想: 使用深度优先搜索遍历图 维护两个数组: dfn[i]:顶点i的深度优先搜索遍历序号(时间戳) low[i]:顶点i能够回溯到的最早的祖先节点的 阅读全文
posted @ 2025-10-09 21:07 CRt0729 阅读(13) 评论(0) 推荐(0)
摘要: 解题思路 问题分析 我们需要找到满足以下条件的节点: 删除该节点后,所有好点对仍然连通 删除该节点后,坏点对不连通 关键思路 好点对连通性分析: 如果一个节点在某个好点对的路径上,删除它会导致该好点对不连通 因此,能被删除的节点不能在任何好点对的路径上 使用树上差分标记所有好点对路径上的节点 坏点对 阅读全文
posted @ 2025-10-08 18:20 CRt0729 阅读(25) 评论(0) 推荐(0)
摘要: 解题思路 这个问题可以看作是一个图论中的链式关系计数问题。我们需要将n个同学排成一队,其中有些同学必须相邻且保持前后顺序。 核心思路: 将必须相邻的同学对视为一个整体(链),每个这样的链在最终排列中作为一个整体出现 使用并查集来维护这些链,将必须相邻的同学合并到同一个集合中 检查约束条件的合法性: 阅读全文
posted @ 2025-10-08 18:16 CRt0729 阅读(13) 评论(0) 推荐(0)
摘要: 参考代码: #include<bits/stdc++.h> #define ll long long using namespace std; const int N = 2e5 + 10,inf = 0x3f3f3f3f; struct node{ ll sum,id; }; node t[N]; 阅读全文
posted @ 2025-09-27 20:01 CRt0729 阅读(28) 评论(0) 推荐(0)
1 2 3 4 5 ··· 56 下一页