首页 > 智乃的二进制
头像 嘤嘤世界第一可爱
发表于 2026-02-11 18:03:06
牛客寒假营第五场题解 签到:B、J easy:G mid:D、E、F hard:C、H 防AK:A、I shit:C、I、J 前言 好难,根本不会做!!!!! A 不会 出题人告诉了我一个结论,然后摆了 时间复杂度: 。 B 智乃的瓷砖 模拟 观察可知,横纵坐标奇偶性相同的填 '/' ,奇偶性 展开全文
头像 Anoth3r
发表于 2026-02-11 18:00:30
由于牛客的渲染问题,你可以点此链接进入我的博客查看 个人难度评级 签到: 简单: 中等: A 智乃的二进制 不难发现, 都是好数: ,所以它的二进制最后 位都是 ,又因为 是奇数,所以倒数第 位一定是 。 其次,对于 ,只要满足 ,它就是好数: 如果满足好数定义,就有 也就是 然后 展开全文
头像 FZANOTFOUND
发表于 2026-02-11 18:42:21
A.智乃的二进制 不会 B.智乃的瓷砖 根据 的奇偶性判断就行。 void solve(){ ll n = read(), m = read(); for(ll i=0;i<n;i++){ for(ll j=0;j<m;j++){ 展开全文
头像 银当taki
发表于 2026-02-12 11:57:51
B 模拟 相邻的反转 注意反斜杠需要转义 int a[200][200]; void solve() { int n, m; cin >> n >> m; rep(i, 1, n) { rep(j, 1, m) { if (j == 1) { if 展开全文
头像 牛客WR255030
发表于 2026-02-13 09:37:44
本题就是要构造出在限定的长度n内,使得qcjjkkt和td以及qcjjkktd三种组合起来让快乐值最大化。我们可以直接用dp的方式。qcjjkkt的长度是7,td的长度是2,qcjjkktd的长度是8,n的长度要么是2、7、8三个数的最小公倍数56的倍数,要么就是余下1~~55,所以就以112为dp 展开全文
头像 六花酱o
发表于 2026-02-20 23:00:00
题解 一共三种情况1.td 2.qcjjkkt 3.qcjjkktd。分别长度为2,7,8。最小公倍数是56。 如果是56的倍数的话,就用贪心,看哪种组合最大就行。 不足56就用dp,但注意的如果留的不足56又会有可能错过最优解,所以得至少留56, 即n%56+56。 #include<bit 展开全文
头像 枫林叶233
发表于 2026-02-15 11:15:12
题目 输入 输出 思路 题目要求合成一堆的代价最小,即要让小的先合在一起,所以考虑用优先队列从小到大排序。 考虑到数据大小,要将同一重量的果子一起处理,可以用pair存储c,w. 对于偶数个相同重量的果子,可以将它们合并,数量减半,然后放入队列里; 对于奇数个,则要保留一个果子,和下一个pai 展开全文
头像 玖t
发表于 2026-02-18 19:59:36
代码演示: #include<bits/stdc++.h> using namespace std; #define int long long #define endl '\n' const int N = 500010; void solve(){ int f=0; stri 展开全文
头像 玖t
发表于 2026-02-18 21:15:42
题目解析 这道题目是一个哈夫曼编码问题,也被称为合并果子问题。核心在于利用贪心策略和优先队列(小根堆)来寻找最小的合并代价 我们应该总是优先合并当前重量最小的两堆果子。 为了高效地找到当前最小的两堆果子,我们需要使用优先队列,并且需要将其设置为小根堆(即堆顶元素最小) 代码演示 #include&l 展开全文
头像 玖t
发表于 2026-02-18 22:56:12
F题题解: 由于 n,a,b的范围极大,我们无法通过模拟或动态规划来解决,必须通过贪心策略和数学推导找出最优解。 我们需要考虑以下几种构造策略,并取其中的最大值: 1. 策略一:只构造 td 这是最基础的策略。如果 bb 的收益非常高,或者 aa 的收益很低,我们可能只需要尽可能多地构造 td。 展开全文

等你来战

查看全部