摘要:
首先把所有的牛排个序,优先按照起始时间 其次建立一个堆,重载小于号(只可以重载小于号),优先按照右端点的时间排序,大的放下面(sort的时候会放后面),堆顶是结束时间最快的 #include <iostream> #include <algorithm> #include <queue> using 阅读全文
摘要:
A #include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; for(int i = 1; i <= 1000; i ++ ) { if(c * i >= a && c * i <= 阅读全文
摘要:
掉分快乐qwq C题代码以及分析(在注释里) /* * @Author: Nan97 * @Date: 2021-10-04 22:37:18 * @Last Modified by: Nan97 * @Last Modified time: 2021-10-04 22:49:02 */ #incl 阅读全文
摘要:
241. 为运算表达式设计优先级 题目大意 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 + - * 思路: 分治 我们对于每一个运算符可以考虑它左边可以运算出的值 和 右边可以运算出的值,他们两个再进行运算 阅读全文
摘要:
LeetCode每日一题2021.9.20 LeetCode673. 最长递增子序列的个数 思路 在最长上升子序列的转移时,维护一个 cnt 数组,表示 以 i 结尾的最长上升子序列个数 f[i] 表示以 i 结尾的最长上升子序列的长度 转移方程为 cnt[i] = (f[i] == f[j] + 阅读全文
摘要:
LeetCode每日一题2021.9.19 跳转链接 分析 我们发现每个数字只能由它的因数通过复制而来, 因为复制操作是每次去添加一个相同的个数. 因此我们就可以得出DP方程 dp[i] = min({dp[i], dp[i/j] + j, dp[j] + i/j}) 因为我们直接两重循环进行状态转 阅读全文
摘要:
跳转链接 题目大意 题目中要求的是从1号点到n号点所需要的最短时间, 一秒可以走 \(2^k\) 个距离 给定的有向图的边边权都是1. 问题分析 由于一秒可以走 \(2^k\) 个距离,因此题目转化为寻找两个点之间的距离为$2k$的点对,并把边权(代表时间)赋值为1, 由于给定边权(指路径长度)都是 阅读全文
摘要:
跳转链接 题意 艾洛喜欢吃甜食,他有n个甜甜圈,现在叠成了两叠(如下图所示),第一叠有n1个,第二叠有n2个(n1+n2=n),要解决的问题如下: 每个甜甜圈都有一个唯一的甜度值$s_i$ 甜度值两两不同; 每次艾洛可以把任意一叠位于顶端的一个甜甜圈移动到另一叠顶端,若该甜甜圈是当前所有甜甜圈中最甜 阅读全文
摘要:
A. Domino Disaster 思路 按照题意模拟即可 如果是 对应关系为R --> R L --> L U --> D D --> U AC_CODE inline void solve() { int n; cin >> n; string s; cin >> s; string ans; 阅读全文