09 2021 档案

摘要:241. 为运算表达式设计优先级 题目大意 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 + - * 思路: 分治 我们对于每一个运算符可以考虑它左边可以运算出的值 和 右边可以运算出的值,他们两个再进行运算 阅读全文
posted @ 2021-09-26 19:38 ccz9729 阅读(37) 评论(0) 推荐(0) 编辑
摘要:LeetCode每日一题2021.9.20 LeetCode673. 最长递增子序列的个数 思路 在最长上升子序列的转移时,维护一个 cnt 数组,表示 以 i 结尾的最长上升子序列个数 f[i] 表示以 i 结尾的最长上升子序列的长度 转移方程为 cnt[i] = (f[i] == f[j] + 阅读全文
posted @ 2021-09-20 20:39 ccz9729 阅读(61) 评论(0) 推荐(1) 编辑
摘要:LeetCode每日一题2021.9.19 跳转链接 分析 我们发现每个数字只能由它的因数通过复制而来, 因为复制操作是每次去添加一个相同的个数. 因此我们就可以得出DP方程 dp[i] = min({dp[i], dp[i/j] + j, dp[j] + i/j}) 因为我们直接两重循环进行状态转 阅读全文
posted @ 2021-09-19 20:42 ccz9729 阅读(50) 评论(1) 推荐(1) 编辑
摘要:跳转链接 题目大意 题目中要求的是从1号点到n号点所需要的最短时间, 一秒可以走 2k 个距离 给定的有向图的边边权都是1. 问题分析 由于一秒可以走 2k 个距离,因此题目转化为寻找两个点之间的距离为2k的点对,并把边权(代表时间)赋值为1, 由于给定边权(指路径长度)都是 阅读全文
posted @ 2021-09-18 10:57 ccz9729 阅读(25) 评论(0) 推荐(2) 编辑
摘要:跳转链接 题意 艾洛喜欢吃甜食,他有n个甜甜圈,现在叠成了两叠(如下图所示),第一叠有n1个,第二叠有n2个(n1+n2=n),要解决的问题如下: 每个甜甜圈都有一个唯一的甜度值si 甜度值两两不同; 每次艾洛可以把任意一叠位于顶端的一个甜甜圈移动到另一叠顶端,若该甜甜圈是当前所有甜甜圈中最甜 阅读全文
posted @ 2021-09-17 22:21 ccz9729 阅读(112) 评论(0) 推荐(1) 编辑
摘要:二进制枚举 例题:LC 5869. 两个回文子序列长度的最大乘积 当我们去用二进制枚举方案的时候, 可能会用到求二进制数字的所有子集 去求方案 那么怎么求呢? CODE int px = 1 << N; for(int i = 0; i < px; i ++ ) for(int j = i; j; 阅读全文
posted @ 2021-09-12 17:18 ccz9729 阅读(38) 评论(0) 推荐(0) 编辑
摘要:输出多组数据 debug的时候用 //两种写法 // 递归写法. template <typename T, typename ... U> void Print(T t, U... u) { if constexpr(sizeof ...(U) == 0) { cout << t << endl; 阅读全文
posted @ 2021-09-12 17:09 ccz9729 阅读(41) 评论(0) 推荐(0) 编辑
摘要: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; 阅读全文
posted @ 2021-09-06 11:57 ccz9729 阅读(71) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示
主题色彩