摘要:
原题链接 题解 1.要确保任意回合赢回来的钱都要比之前下注的钱的总和要多 令 \(b_i\) 为第 \(i\) 回合下注的钱,则有 \(b_i·k>\sum_{j=1}^{i}b_j\) 则有 \(b_i\ge \left\lfloor \frac {\sum_{j=1}^{i-1}b_j}{k-1 阅读全文
posted @ 2024-03-28 22:04
纯粹的
阅读(19)
评论(0)
推荐(0)
摘要:
原题链接 题解 1.选k个数,就会有k-1个数没法选。我们可以倒着来,每少选一个数,就会多一个数可以选,添加总比删除简单 2.最小的那个数,也就是第k小的数,因此我们可以维护一个大小为k 的优先队列,最小值就是队首元素 code #define ll long long #include<bits/ 阅读全文
posted @ 2024-03-28 21:23
纯粹的
阅读(21)
评论(0)
推荐(0)
摘要:
原题链接 这道题让我对状态转移的理解更深 题解 1.对于任意一个点,不是在休息就是在锻炼,因此可以设 \(dp[i][j]\) 又因为疲劳值对答案也会有影响,或者说,当确定时间,决策,疲劳值时,所走过的路的最大值是可以确定的 所以再加一维 code #include<bits/stdc++.h> u 阅读全文
posted @ 2024-03-28 18:35
纯粹的
阅读(15)
评论(0)
推荐(0)
摘要:
原题链接 题解 1.看到数据范围很小,所以我们可以穷举 如何穷举呢? 三个方向的背包dp,令 \(dp[i][j][k]\) 来表示 三边长度为 \(i,j,k\) 时能否达到,然后最外面一维是所用的木板 由于她想用所有的木板 所以 \(k=total-i-j\) ,所以可以变成两维 注意这里的背包 阅读全文
posted @ 2024-03-28 18:06
纯粹的
阅读(35)
评论(0)
推荐(0)
摘要:
原题链接 题解 1.每个城市选择一个与它最近的城市 2.如果三个或以上的城市申请修建的公路成环。如下图,A 申请修建公路 AB,B 申请修建公路 BC,C 申请修建公路 CA。则政府将否决其中最短的一条公路的修建申请; 但是这条不成立,请看这条题解 或者下图 由此得出这题就是最小生成树,虽略有不同, 阅读全文
posted @ 2024-03-28 16:34
纯粹的
阅读(18)
评论(0)
推荐(0)
摘要:
原题链接 题解 1.题目可以抽象转化为,若干个点和线段,求问最多有多少点和线段能配对,如果点在线段内 2.我们可以采用贪心的方法,对点升序排序,对线段按右端点升序排序 为什么请看下图 code #include<bits/stdc++.h> using namespace std; struct n 阅读全文
posted @ 2024-03-28 15:16
纯粹的
阅读(51)
评论(0)
推荐(0)

浙公网安备 33010602011771号