会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Enjoy the Silence
Welcome to my Blog.
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
下一页
2025年6月26日
洛谷P8814 [CSP-J 2022] 解密 题解
摘要: 本题做法 数学。 思路 记 \(n=pq\) 为式 1,\(ed=(p-1)(q-1)+1\) 为式 2。 将式 2 展开,得到 \(ed=pq-p-q+2\),移项得到 \(p+q=pq-ed+2=n-ed+2\),正好是数据范围中定义的 \(m\)。 这样,我们就得到了 2 个式子: \[pq=
阅读全文
posted @ 2025-06-26 13:52 EnjoySilence
阅读(107)
评论(0)
推荐(0)
2025年6月24日
洛谷P9749 [CSP-J 2023] 公路 题解
摘要: 本题做法 前缀和思想、模拟和贪心。 思路 定义一个数组 \(pre[i]\) 表示油价数组 \(a\) 中 \(a[1]\sim a[i]\) 中的最小油价,递推公式为 \(pre[i]=\min\{pre[i-1], a[i]\}(i>1),pre[1]=a[1]\)。遍历距离数组 \(v\) 的
阅读全文
posted @ 2025-06-24 20:22 EnjoySilence
阅读(139)
评论(0)
推荐(0)
2025年5月20日
洛谷B4179 [厦门小学生 C++ 2024] 战线巡逻 题解
摘要: 题外话 本题属于赛后补题系列,以后我会陆陆续续在这个系列中更新曾经比赛中未做出来的题。 本题做法 排序,贪心,差分。 思路 这题中每一个点的覆盖方式可以看做 2 种情况: 士兵一开始就部署在这个点上,不影响体力消耗。 士兵从相邻的 2 个点之一巡逻而来,体力消耗为 2 个点距离这个点的距离。 我们要
阅读全文
posted @ 2025-05-20 22:10 EnjoySilence
阅读(122)
评论(0)
推荐(0)
2025年5月14日
洛谷P7551 [COCI 2020/2021 #6] Alias 题解
摘要: 本题做法 Dijkstra最短路+离散化思想。 思路 这其实是一道 Dijkstra 最短路的裸题,只需要对于每一次询问做一次 Dijkstra 然后判断输出即可。 这题有意思的点在于它的编号不是数字而是字符串,我们在这种情况下可以使用离散化思想,将每一个字符串通过 map 映射到一个唯一的数字上,
阅读全文
posted @ 2025-05-14 22:47 EnjoySilence
阅读(42)
评论(0)
推荐(0)
2025年5月11日
洛谷P1359 租用游艇 题解
摘要: 本题做法 Floyd 弗洛伊德最短路算法。 思路 求全源最短路,再输出 \(g[1]][n]\) 即可。 代码 #include<bits/stdc++.h> using namespace std; const int INF=0x7fffffff; const double EPS=1e-8;
阅读全文
posted @ 2025-05-11 21:13 EnjoySilence
阅读(32)
评论(0)
推荐(0)
2025年4月21日
洛谷P1189 SEARCH 题解
摘要: 本题做法 DFS+剪枝。 思路 \(30pt\):朴素 DFS 定义 DFS 函数为:void dfs(int x,int y,int t),其中 \(x\) 和 \(y\) 为当前搜索的坐标,\(t\) 代表当前要走第几步。 DFS 函数主体内每次都根据当前方向一直走,直到走到墙壁或尽头,则退出函
阅读全文
posted @ 2025-04-21 19:23 EnjoySilence
阅读(35)
评论(0)
推荐(0)
2025年4月10日
洛谷P1100 高低位交换 题解
摘要: 本题做法 位运算。 思路 这题的数据范围使用 int 存储不下,得用 unsigned int。 读入后,我们就要开始考虑如何获取高低位的问题了。 我们都知道,C++ 中的右移运算是可以将一个正整数的二进制右移一位的,我们要忽略后 16 位,我们就可以通过 n>>16 获取高位。 那怎么获取低位呢?
阅读全文
posted @ 2025-04-10 12:53 EnjoySilence
阅读(110)
评论(0)
推荐(0)
2025年4月9日
洛谷P2985 [USACO10FEB] Chocolate Eating S 题解
摘要: 本题做法 二分,贪心。 思路 二分答案,每次使用 \(check\) 函数检验。 \(check\) 函数:定义 2 个变量 \(now\) 和 \(nxt\),分别代表当前快乐值以及下一块要吃的巧克力。从 1 遍历到 \(d\),每次先将 \(now\) 除以 2,若 \(now<mid\),则一
阅读全文
posted @ 2025-04-09 13:33 EnjoySilence
阅读(86)
评论(0)
推荐(0)
2025年4月8日
洛谷P4058 [Code+#1] 木材 题解
摘要: 本题做法 二分+优先队列。 思路 这题有几个坑点: 二分的 \(l,r\) 最好使用 unsigned long long 类型,以及需要特判答案可能是 0 的情况。 二分开始时 \(r\) 设置成 \(1\text e18\) 会被卡常,最好的方法是设置成 \(\max(s,len)\)。 二分答
阅读全文
posted @ 2025-04-08 22:21 EnjoySilence
阅读(56)
评论(0)
推荐(0)
洛谷P1676 [USACO05FEB] Aggressive cows G 题解
摘要: 本题做法 二分,贪心。 思路 我们可以二分最大化答案 \(x\),每次使用 \(check\) 函数测试当前二分的答案是否正确。 \(check\) 函数:定义变量 \(cnt\) 和 \(nxt\),分别代表当前答案可以放置的牛数量以及下一个符合当前答案的位置。初始时,\(cnt=1,nxt=a[
阅读全文
posted @ 2025-04-08 18:52 EnjoySilence
阅读(85)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
下一页
公告