iOS
10.12 代码源 2024 CSP-S 模拟赛 Day 14
省流:(100+0+0+8=108) 简称:唐诗 T1 首先发现 (a) 序列一定先降后升,然后 (nle 100) 然后很容易想到一个朴素 DP 离散之后,(f[mxl][sel][mxr][ser]) 表示单减最大和次大,单增最大和次大 然后做一个 (O(n^4)) 的 DP 即可 其实这个就能过了,因为空间限制是 (1024MB),(f) 数组开到 (10^8) 没问题,但是我开的 u
LCT(Link-Cut-Tree)学习笔记
本文主要通过板子题代码介绍 LCT 的实现过程与实现细节(Why),对 LCT 基础定义(What)不做讲解,作者水平有限,解释可能有误,望谅。 例题1.>luoguP3690
M. Outro: True Love Waits
独立做出来一道银牌题,还是比较开心的;虽然赛场上肯定不会有这么多时间给我消耗的…… 熟悉了一下bitset的基本语法,读入的时候,注意bitset末位为s[0],而字符串首位为s[0];同时,不要低估其成员函数的时间复杂度 通过模拟样例,猜想到s->t等价于0->(s^t);打表找出规律后,似乎只要把规律刻画出来,就能解决本题了 于是你迎来了本题的最后一个考验:能否以尽可能简洁直观的
The Resistor Network Program
Lab 3: The Resistor Network Program Objectives The objectives of this assignment are for you to practice: (1) the use of C++ I/O streams, includingerror handling, (2) dynamic allocation and de-alloca
C++异步调用 future async promise packaged_task
背景: C++ 异步调用是现代 C++ 编程中的一种重要技术,它允许程序在等待某个任务完成时继续执行其他代码,从而提高程序的效率和响应性。 C++11 引入了 std::async、std::future 和 std::promise 等工具,使得异步编程变得更加方便和直观。以下是关于 C++ 异步调用的详细介绍,包括基本概念、使用方法和示例代码。 以下代码头文件为: std::fu
P6148 [USACO20FEB] Swapity Swapity Swap S
P6148 [USACO20FEB] Swapity Swapity Swap S Farmer John 的 (N) 头奶牛((1leq Nleq 10^5))站成一排。对于每一个 (1leq ileq N),从左往右数第 (i) 头奶牛的编号为 (i)。 Farmer John 想到了一个新的奶牛晨练方案。他给奶牛们 (M) 对整数 ((L_1,R_1)ldots (L_M,R_M)),其
题解:P1660 数位平方和
Problem Link Step 1: “定义 (S(n)) 表示 (n) 个的各个数位的 (k) 次方的和。” 数位的 (k) 次方,我们可以通过快速幂求出,为了节省时间,我们可以定义一个 (a) 数组,来表示 (0sim9) 区间中各数字 (k) 次方的值。 然后我们通过定义一个 (s) 数组来存储 (0sim4times10^{6}) 区间中各数字的 (S) 值。 Step 2: “定义
题解:P7356 「PMOI-1」游戏
Problem Link 「PMOI-1」游戏 题意 给你一个胜利规则为 黑白白白 的棋类游戏,你执白,黑先行且第一步必下 ((0,0)),双方皆可放弃落子且落子坐标必须为自然数,请在 4 步内获胜。 思路 在自己与自己对下几局之后,有几个显然的发现: 黑棋会尽量阻止你 4 步获胜。 在你不会再下一步就获胜前,黑棋弃子非常合理(因为黑子多下会多提供获胜必须的 黑)。 综合思考,发现必须
题解:AT_agc027_b [AGC027B] Garbage Collector
Problem Link [AGC027B] Garbage Collector 题意 原题翻译已经很不错了,这里不再赘述。 思路 推论:每次取的垃圾数量应尽可能均分。 证明 如图,假设有 (4) 个垃圾需要被捡起,有两种取法: 取一号垃圾+取二三四号垃圾。 取一二号垃圾+取二三号垃圾。 前者所需能量为:(displaystyle 20x_1+16x_2+9x_3+4x_4)。
题解:P11063 【MX-X4-T3】「Jason-1」数对变换
Problem Link 【MX-X4-T3】「Jason-1」数对变换 题外话 场上把贪心注重在一个奇怪地方了,导致交的时候已经有 (9) 个人 (textcolor{green}{AC}) 了(哭)。 题意简述 对于数对 ((x,y)),你可以执行以下两种变换: 类型 1:取 (1 le k le x),令 ((x,y) gets (lfloor frac{x}{k} rfloor, y c
洛谷P1373:小 a 和 uim 之大逃离
洛谷P1373:小 a 和 uim 之大逃离 题意 略 思路 DP:记 dp[i][j][c][0/1] 表示走到 (i) 行 (j) 列时,两人容量之差为 (c) 的方案数,(0) 表示 (rm 小a) 走的最后一步,(1) 表示 (rm uim) 走的最后一步。 容易得出转移方程: Code
题解:AT_abc370_c [ABC370C] Word Ladder
题目传送门 luogu观看 简要题意 给两个序列 (S) 和 (T),输出的第一个数是它能改变的总个数,后面跟着的第 (i) 个是改变 (i) 个数之后,字典序最小的结果。 思路 当 (S) 与 (T) 相等的话,那就无法改变了,直接输出 (0)。 对于总数只要 (T_i ne S_i) 那它就可以改,所以只要 (T_i ne S_i) 答案就加一。 要让字典序最小,那我们从前面开始枚举,只要
HTB打靶记录-Cicada
Nmap Scan nmap扫描一下ip nmap -sT -sV -O -Pn 10.10.11.35 smb测试 开放445端口,smbclient连一下 smbclient -L //10.10.11.35 免密登录查看一下HR文件夹 smbclient -N //10.10.11.35/HR 将"Notice from HR.txt"下载下来 得到一个密码:Cicada$M6Cor
题解:P1709 [USACO5.5] 隐藏口令 Hidden Password
Problem Link [USACO5.5] 隐藏口令 Hidden Password 题目描述 求最小表示法的开头字母在原字符串的位置。 Solution 最小表示法板子,双指针解决即可。 Code
2023 ThinkPad运行Linux选购思考记录
2023 ThinkPad运行Linux选购思考记录 Tiera Red Hat 高级混合云架构师 / RHCA Level3 关注 17 人赞同了该文章 展开目录 前言 在当今这个数字化时代,笔记本电脑已成为我们日常生活和工作中不可或缺的工具。对于软件工程师和系统工程师而言,选择一款
2024/10/13 模拟赛总结
人机体检,(0+0+0+0=0),打代码源去了 #A. 一般图最小匹配 下次看到这种范围一定要想到 dp 啊,令 (dp_{i,j}) 为前 (i) 个元素选了 (j) 对点的最小代价 由于边权是绝对值,可以对原数组排一遍序,选取的两个点就一定在排序后数组的相邻节点 那么就可以得出式子:(dp_{i,j}=min{dp_{i-1,j},dp_{i-2,j-1}+a_i-a_{i-1}}) #B.
Maximum Rating
通过这道题,对Splay有了更深刻的理解 Splay的中序遍历代表当前序列,通过查询排名为i的点找到序列中的第i个数,这些信息是完全由Splay的结构提供的 通过Splay的编号,我们则可以访问到原序列对应的节点 其实这道题完全是可以用线段树做的,既然普通线段树不行,那不妨用权值线段树实现【顺序自动机】 数据结构的程序很难通过一般的输出中间结果法调试,因为问题出现的时候往往不是问题产生的时候 你
E. Rendez-vous de Marian et Robin
链接:https://codeforces.com/problemset/problem/2014/E 题面: 思路: 最短路首选dijkstra,这题也是这样,但是难点在于如何记录有马的时间这个状态。采取方法就是没有马的情况下正反跑一遍dijkstra,然后记录有马的位置的时间,从每个有马的地方重新dijkstra。拿四个数组,取ans = min ( ans , max (min(horse
2024/10/14日工作总结
完成数据结构作业,用栈和队列两种方法实现回文; 栈的实现: include using namespace std; constexpr auto MAXSIZE = 50; typedef struct { char *base; char *top; int stacksize; }sqStack; void InitStack(sqStack& s) { s.base = new c
洛谷P1381单词背诵
单词背诵 题目描述 灵梦有 (n) 个单词想要背,但她想通过一篇文章中的一段来记住这些单词。 文章由 (m) 个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一个)。并且在背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样她就可以用尽量短的时间学习尽可能多的单词了。 输入格式 第 (1) 行一个数 (n),接下来 (n) 行每行是一个长度不超过 (10)
洛谷P1219八皇后问题
[USACO1.5] 八皇后 Checker Challenge 题目链接 题目描述 一个如下的 (6 times 6) 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列 (2 4 6 1 3 5) 来描述,第 (i) 个数字表示在第 (i) 行的相应位置有一个棋子,如下: 行号 (1 2 3 4
洛谷P1638逛画展
逛画展 题目链接 题目描述 博览馆正在展出由世上最佳的 (m) 位画家所画的图画。 游客在购买门票时必须说明两个数字,(a) 和 (b),代表他要看展览中的第 (a) 幅至第 (b) 幅画(包含 (a,b))之间的所有图画,而门票的价钱就是一张图画一元。 Sept 希望入场后可以看到所有名师的图画。当然,他想最小化购买门票的价格。 请求出他购买门票时应选择的 (a,b),数据保证一定有解。 若存在
洛谷P1644跳马问题
跳马问题 题目链接 题目背景 在爱与愁的故事第一弹第三章出来前先练练四道基本的回溯/搜索题吧…… 题目描述 中国象棋半张棋盘如图 (1) 所示。马自左下角 ((0,0)) 向右上角 ((m,n)) 跳。规定只能往右跳,不准往左跳。比如图 (1) 中所示为一种跳行路线,并将路径总数打印出来。 输入格式 只有一行:两个数 (n),(m)。 输出格式 只有一个数:总方案数 (total)。 样例 #1
[ABC213G] Connectivity 2 题解
好好好。 我们设当前处理 (i) 的答案,那么最后的图就可以分成两个部分:(1) 所在的联通块和其他,根据乘法原理,答案就是它们二者方案的乘积。 设 (f_s) 表示集合 (s) 中所有点联通时图的情况数,(g_s) 表示集合 (s) 中所有点不一定联通时图的情况数,则有: [ans_i=sumlimits_{{1,i}in s}f_stimes g_{s'} ]其中 (s') 表示 (s) 相
回文(栈和队列两种方法实现)
include include using namespace std; typedef struct { char* base; int front; int rear; }SqQueqe; typedef struct { char* base; char* top; int stacksize; }SqStack; //初始化栈 void initStack(SqStack& s)