网站开发
未读
前提拥有一个 Github 的账号和博客仓库。
领取域名注册Github前往 Github 注册账号。
DigitalPlat Domains前往 Digitalplat 注册账号,完整人名、电话号码、完整地址等信息不用填写真实的,可以在 美国身份生成器 生成。注册完成后会发一封验证到邮箱。登录后需要 KYC 验证(使用 Github 账号即可)。验证成功后会显示这个页面。
获取书接上回,点击左侧 注册。
Digitalplat 于 2026/3/20(文章发布约一周后) 左右更新 UI 和页面交互,文章中获取部分截图为旧版,可能无法对应位置,但操作基本相同。
Update: 本文章已更新至最新。
引用站外地址
旧版存档
点击查看旧版
引用站外地址
...
网站开发
未读前言OIer 都知道,洛谷中有个 Markdown 插件,非常好用,效果如下:
这是一个提示
我是提示内容。
我是父容器
我是一些文字。
我是子容器 1
我是内容 1。
我是一些文字。
我是子容器 2
我是子容器 3
我是内容 2。
我是一些文字。
大家好啊,我是说的道理。
——otto
居左内容。
居中内容。
居右内容。
源码:
123456789101112131415161718192021222324252627282930313233343536373839:::info[这是一个提示]我是提示内容。::::::::warning[我是父容器]我是一些文字。::::success[我是子容器 1]{open}我是内容 1。::::我是一些文字。::::success[我是子容器 2]{open}:::error[我是子容器 3]{open}我是内容 ...
信息学奥赛
未读
详情
设计状态:用 $dp_{u,0/1}$ 表示以 $u$ 为根的子树的最大快乐指数。
答案:$\max{dp_{root,1},dp_{root,0}}$。
P1352 没有上司的舞会若如图所示,当前 dfs 至点 $u$,则转移方程如下:$$dp_{u,0}\leftarrow dp_{u,0}+\max(dp_{v,0},dp_{v,1})$$$$dp_{u,1}\leftarrow dp_{u,1}+dp_{v,0}$$
所以可以写出以下代码:
1234567891011121314151617181920212223242526272829303132#include<bits/stdc++.h>using namespace std;int n,r[6005],in[6005],rt,dp[6005][2];vector<int>g[6005];void dfs(int u){ for(int v:g[u]){ dfs(v); dp[u][0]+=max(dp[v][ ...
洛谷
未读
问题分析题目要求计算边长为 $N$ 的立方体被平面 $x+y+z=K$ 切割后,包含原点 $(0,0,0)$ 的部分体积的 6 倍是多少。立方体的范围为 $0 \le x,y,z \le N$,平面 $x+y+z=K$ 将空间分为两部分,并且包含原点的部分满足 $x+y+z \le K$。
核心思路根据 $K$ 与立方体的位置关系,平面切割立方体的效果不同,需分类讨论:
平面在立方体外部($K \le 0$):如图 1 ,此时 $x+y+z \le K$ 不包含立方体任何部分,$V_立=0$。$\tiny\color{000000}图 1$
平面切割出小四面体($0<K \le N$):如图 2-1 , 平面与立方体相交形成以原点为顶点的四面体,如图 2-2 ,体积可直接用 $V_四$ 公式计算。$$\tiny\color{000000}图 2-1$$$$\tiny\color{000000}图 2-2$$
平面切割立方体中部($N<K \le 2N$):如图 3 ,平面与立方体的三个面相交,形成复杂区域,需通过几何分解推导体积公式。$$\tiny\color{00000 ...
洛谷
未读![题解:P13361 [GCJ 2011 Qualification] Bot Trust](/img/2026/top_img1.webp)
本题解被打回无法重新提交嘤嘤嘤
题意理解形式化翻译题目翻译有点难懂(其实是本蒟蒻懒得看),让本蒟蒻来形式化一下:
对于每组测试用例,有 $n$ 个执行任务的机器人和对应的按钮, $2$ 个机器人需依次按下自己对应的按钮,求计算 $2$ 个机器人按完按钮所需的最少时间。
注意事项
必须严格按照给定顺序操作,后一个按钮的操作必须在前一个完成后才能开始。
机器人可同时移动但不能同时执行按键操作。
解题思路状态跟踪需使用记录两个机器人的当前位置 $poso$ 和 $posb$ ( $poso$ 对应Orange, $posb$ 对应Blue)和各自上次操作完成的时间 $timeo$ 和 $timeb$ ,以及整个流程的总时间 $s$ 。对于每组测试用例,千万不要忘记对 $poso$ 、 $posb$ 、 $timeo$ 和 $timeb$ 进行初始化!
操作逻辑
对每个命令,先确定执行的机器人(判断输入为O或B)。
计算从到达目标位置的时间 $|a_i-poso/posb| \times1$ 。
确定实际完成时间:取到达时间和当前总时间的最大值(保证顺序性),再加 $1$ 秒按键时间,用 ...
洛谷
未读
题目传送门
题意分析核心:如果在 $24$ 小时制中小时数小于 $6$,则在 $30$ 小时制中小时数要 $+24$,否则不变即可。
思路引导
提问
如何对 hh:mm 的格式进行输入?
成功
题目只需修改小时数(hh)部分,所以先输入一个数 $hh$ 方便进行修改。而 :mm 无需修改,再输入一个 string 类型后原封不动地输出即可。
提问
如何对 $24$ 小时制中小时数($hh$)修改为 $30$ 小时制中小时数?
成功
我们已经分析过题意了,当输入中小时数小于 $6$ 时,小时数要 $+24$,否则原封不动地输出。
提问
如何将小时数补全至两位输出?
成功
使用 if 语句特判补前导零即可。
核心代码123456789cin>>hh>>mm;if(hh<6){ hh+=24;}if(hh<10){ cout<<0;} cout ...
洛谷
未读
题目传送门
题意分析核心:对于每组数据,判断 $x$ 是否 $\ge 3$ 或 $\ge 5$ 并对应地将残机 $+1$,判断 $s$ 是否 $\ge 10000000$、$\ge 20000000$、$\ge 40000000$ 或 $\ge 60000000$ 并对应地将残机 $+1$。
思路引导
提问
如何处理多组数据?
成功
使用 while 循环语句,每次将 $t-1$,因为 $t=0$ 时布尔值为 $0$, 即 false,所以将会跳出循环,此时循环语句正好执行 $t$ 次。格式如下:
123while(t--/布尔表达式/){ //执行____}
提问
如何对 $x$ 和 $s$ 的值进行判断?
成功
使用 if 分支语句,格式如下:
123456//普通版:if(/布尔表达式/){ //执行____}//压行版:if(/布尔表达式/)//执行____(限一句)
警示
如果你将 $s$ 开 int ,那 ...
信息学奥赛
未读
模板代码(P3808 AC 自动机(简单版))
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include<bits/stdc++.h>using namespace std;int n,tot,cnt[1000005],ch[1000005][30],ne[1000005];void insert(string s){ int u=0; for(char c:s){ int v=c-'a'; if(!ch[u][v])ch[u][v]=++tot; u=ch[u][v]; } cnt[u]++;}void build(){ queue<int>q; for(int i=0;i<26;++i){ if(ch[0][i])q.push(ch[0][i]); } while(!q.empty()){ int ...
信息学奥赛
未读增广路ek 模板:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include<bits/stdc++.h>using ll=long long;using namespace std;const int N=205,M=5005;int n,m,s,t,cnt=1,head[N],pre[N],mf[N];/*mf:当前增广路可通过水流*/struct edge{ int nxt,to,w;}e[2*M];void add(int u,int v,int w){ e[++cnt].w=w; e[cnt].to=v; e[cnt].nxt=head[u]; head[u]=cnt;}bool bfs(){ memset(mf,0,sizeof mf); queue<int>q; q.push(s); mf[s]=1e9; whi ...















