1437A. Marketing Scheme

题意:最近猫粮店正在打折销售猫粮罐头,在给定客人能买的罐头数量区间内求合适包装大小

思路:说实话,在比赛刚开始没看懂题,最后放弃读题直接研究给出的样例解释发现,我们可以假设 \(a = r + 1\) 再进行比较 \(l \% a >= \frac{(a + 1)} 2\)

void solve() {
ll l, r;
cin >> l >> r;
ll a = r + 1;
if (l % a >= (a + 1) / 2) cout << "YES\n";
else cout << "NO\n";
}

1437B. Reverse Binary Strings

题意:给定一个偶数长度的01字符串,求如何在最少的区间反转使得 字符串变为 “101010..."样式

思路:想清楚我们需要得到的是 10"串,那么对于其他情况都是不合法的 ”11,00“对于这些我们进行统计,最后只需要 \(k / 2\)即可

这个思路是比赛过程中观察而来的,证明待补。。。

void solve() {
cin >> n >> s, k = 0;
s[n] = s[0];
for (int i = 0; i < n; ++i)
if (s[i] == s[i + 1]) k++;
cout << k / 2 << endl;
}

1437C. Chef Monocarp

题意:我们有一位高级厨师,他知道每一道菜的美味时间 \(t_i\),但他每一分钟只能端出一道菜(已经拿出来的不能放回),如果拿出则会产生一个不愉快值 \(|T - t_i|\) ,求问怎么取出所有的菜的同时使总的不愉快值最小

思路:经典动态规划问题(脑抽写错了),这道题建议直接看代码理解。

// Author : RioTian
// Time : 20/10/28
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int N = 210;
int dp[N][N << 1], n, _;
void solve() {
cin >> n;
int a[n + 1];
for (int i = 1; i <= n; ++i) cin >> a[i];
sort(a + 1, a + 1 + n);
//模拟时间变化
for (int j = 1; j <= n; ++j)
for (int i = j; i <= 2 * n; ++i) {
int c = 1e6;
for (int k = j; k <= i; ++k) //求出每道菜最小的不愉快值
c = min(c, abs(k - a[j]) + dp[j - 1][k - 1]);
dp[j][i] = c;
}
cout << dp[n][n << 1] << endl;
}
int main() {
// freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> _;
while (_--) solve();
}

1437D. Minimal Height Tree

题意:Monocarp原本有一颗树,但他为了研究BFS将树变成了一组点序列。求问还原这颗树时能构成的最小高度

思路:目前我们已知BFS的入队序列,这样我们可以构建一个二叉树,这样一定能构成一个最短高度的树。

如果有不了解二叉树的同学可以点击这里:Here

以及二叉树常用操作总结:Here

void solve() {
cin >> n;
vector<int> a(n), b(n);
for (auto &it : a) cin >> it;
int l = 0;
b[1] = 0;
for (int i = 1; i < n; ++i) {
if (a[i] < a[i - 1]) l++;
b[i] = b[l] + 1;
}
cout << b[n - 1] << endl;
}

Educational Codeforces Round 97 (Rated for Div. 2) (A - D题个人题解)的更多相关文章

  1. Educational Codeforces Round 97 (Rated for Div. 2)

    补了一场Edu round. A : Marketing Scheme 水题 #include <cstdio> #include <algorithm> typedef lo ...

  2. Educational Codeforces Round 97 (Rated for Div. 2) E. Make It Increasing(最长非下降子序列)

    题目链接:https://codeforces.com/contest/1437/problem/E 题意 给出一个大小为 \(n\) 的数组 \(a\) 和一个下标数组 \(b\),每次操作可以选择 ...

  3. Educational Codeforces Round 97 (Rated for Div. 2)【ABCD】

    比赛链接:https://codeforces.com/contest/1437 A. Marketing Scheme 题解 令 \(l = \frac{a}{2}\),那么如果 \(r < ...

  4. Educational Codeforces Round 97 (Rated for Div. 2) D. Minimal Height Tree (贪心)

    题意:有一个从根节点\(BFS\)得来的序列(每次\(bfs\)子节点的时候保证是升序放入队列的),现在让你还原树(没必要和之前相同),问能构造出的最小的树的深度. 题解:不看根节点,我们从第二个位置 ...

  5. Educational Codeforces Round 97 (Rated for Div. 2) C. Chef Monocarp (DP)

    题意:有\(n\)个菜在烤箱中,每个时刻只能将一个菜从烤箱中拿出来,第\(i\)个时刻拿出来的贡献是\(|i-a[i]|\),你可以在任意时刻把菜拿出来,问将所有菜拿出的最小贡献是多少? 题解: 先对 ...

  6. Educational Codeforces Round 59 (Rated for Div. 2) (前四题)

    A. Digits Sequence Dividing(英文速读) 练习英语速读的题,我还上来昏迷一次....只要长度大于2那么一定可以等于2那么前面大于后面就行其他no 大于2的时候分成前面1个剩下 ...

  7. Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...

  8. Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...

  9. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  10. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

随机推荐

  1. 面试题——为什么 Vue 中不要用 index 作为 key?(diff 算法详解)

    前言 在vue中使用v-for时需要,都会提示或要求使用  :key,有的的开发者会直接使用数组的 index 作为 key 的值,但不建议直接使用 index作为 key 的值,有时我们面试时也会遇 ...

  2. 【Javaweb】Servlet八 | 请求转发的代码实现【详解】

    请求的转发 什么是请求的转发? 请求转发是指,服务器收到请求时,从一次资源转到另一个资源的操作叫做请求转发. 部分代码 // 获取请求的参数(办事的材料)查看 String username=req. ...

  3. HelloJs

    JS 轻量级脚本语言,也是嵌入式语言,是一种对啊想模型语言,简称JS 想要实现复杂的效果,得依靠宿主环境提供API,最常见的是浏览器,还有服务器环境(操作系统) 语言机构+宿主环境提供的API 写js ...

  4. 我用 AI 写的《JavaScript 工程师的 Python 指南》电子书发布啦!

    关于本书 你好,我是 luckrnx09,一名靠 React 恰饭的前端工程师,很高兴向你介绍我的第一本开源电子书<JavaScript 工程师的 Python 指南>. 本书的内容完全免 ...

  5. Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装

    项目代码同步至码云 weiz-vue3-template 基于 axios 封装请求,支持多域名请求地址 安装 npm i axios 封装 utils 目录下新建 request 文件夹,并新建 i ...

  6. XILINX HLS 入坑记录 之 写RAM 综合出 读取+写入Ram

    最近使用 Xilinx HLS 来开发 算法的IPcore,使用的Vitis 2021,发现光是 EDA 工具就存在很多的bug,比如: 1.经常C综合 停留在 Using flow_target ' ...

  7. 华企盾DSC导致Solidworks无法导出xls文件

    将Solidworks进程和Excel进程的OLE控制和启用虚拟重定向都关闭

  8. 使用容器快速在阿里云 ECS 多节点上搭建 Citus 12.1 集群

    阿里云 ECS 机器节点 这里我们使用两台同一区域的 ECS 机器. 机器配置:2 核 2 G.(ps: 阿里云 99 元一年的活动) 一台安装 coordinator(协调器),这里内网 IP 为 ...

  9. nodejs 中npm下载依赖速度慢的问题

    已解决:nodejs 中npm下载依赖速度慢的问题 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug 可以通过重新指定 registry 来解决 npm 安装速度慢的问题 点击查看代码 ...

  10. Win11环境Mecab日语分词和词性分析以及动态库DLL not found问题(Python3.10)

    日语因为存在假名,会导致翻译软件进行翻译时机翻味道过重的问题,比如積ん読(つんどく)这个词,大多数软件会翻译成:堆积的读,但其实是明明买了书却不读,光放着的意思.有时候也需要单独查句子中的单词释义来理 ...