尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

2025-11-15

2025-11-15
📅 发布时间:2026/6/21 0:45:27

Problem - 1858B - Codeforces(1500)(贪心)

这题一个是要读题
在不包括cookie seller的区间才算没吃饼干的时间sum += (s[i] - s[i - 1] - 1) / d;
在加上路过cookie seller时吃的饼干数 sum += m - 1;
然后贪心的思想,遍历删除每个cookie seller
重新计算合并两个区间里吃的饼干数

注意一点,要再处理s[0]=1-d和s[m+1]=n+1,这里就可以考虑到1~s[1]和s[m]~n区间

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2e5+10;void solve()
{int n, m, d;cin >> n >> m >> d;vector<int> s(m + 2);for (int i = 1; i<=m;i++){cin >> s[i];}s[0] = 1 - d;s[m + 1] = n + 1;int sum = 0;for (int i = 1; i <= m+1;i++){sum += (s[i] - s[i - 1] - 1) / d;}sum += m - 1;int ans = n + 1, cnt = 0;for (int i = 1; i <= m;i++){int res = sum;res -= (s[i] - s[i - 1] - 1) / d;res -= (s[i + 1] - s[i] - 1) / d;res += (s[i + 1] - s[i - 1] - 1) / d;if(res<ans){ans = res;cnt = 1;}else if(res==ans){cnt++;}}cout << ans << " " << cnt << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--){solve();}
}

Problem - 1385D - Codeforces(string)

分治思想,递归

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2e5+10;
string s;
int getans(int l, int r, char c)
{if (l == r)return s[l] != c;//相等返回0int tot1 = 0, tot2 = 0;int mid = (l + r) >> 1;for (int i = l; i <= mid; i++)if (s[i] != c)tot1++;for (int i = mid + 1; i <= r; i++)if (s[i] != c)tot2++;tot1 += getans(mid + 1, r, c + 1);tot2 += getans(l, mid, c + 1);return min(tot1, tot2);
}void solve()
{int n;cin >> n >> s;cout << getans(0, n - 1, 'a') << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--){solve();}
}

Problem - 873B - Codeforces(01string)(1500)

这题思路简单,存第一次出现数字下标,然后求前缀长度即可

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2e5+10;
int sum[N], f[N], ans;int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;string s;cin >> s;s = " " + s;for (int i = 1; i <= n;i++){sum[i] = sum[i - 1] + (s[i] == '1' ? 1 : -1);if(sum[i]==0){ans = max(ans, i);}}for (int i = 1; i <= n;i++){if(f[sum[i]+n])ans = max(ans, i - f[sum[i]+n]);elsef[sum[i]+n] = i;}cout << ans << endl;
}

昨天要做的洛谷题

P2347 [NOIP 1996 提高组] 砝码称重 - 洛谷

01背包问题

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=1010;
int a[N], x, num,ans;
int b[10] = {0, 1, 2, 3, 5, 10, 20};
bool vis[N];int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int x;for (int i = 1; i <= 6;i++){cin >> x;for (int j = 1; j <= x;j++)a[++num] = b[i];}vis[0] = 1;for (int i = 1; i <= num;i++){for (int j = 1000; j >= 0;j--)if(vis[j])vis[j + a[i]] = 1;}for (int i = 1; i <= 1000;i++){if(vis[i])ans++;}cout << "Total=" << ans << endl;
}

bitset解法
用二进制求方案数

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2e5+10;
int a[10], w[10] = {1, 2, 3, 5, 10, 20};
bitset<1010> s;int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);for (int i = 0; i < 6;i++){cin >> a[i];}s[0] = 1;for (int i = 0; i < 6;i++){for (int j = 0; j < a[i];j++){s |= s << w[i];}}cout << "Total=" << s.count() - 1;
}

相关新闻

  • Pandas - read_html()
  • 实用指南:Linux企业级解决方案架构:字节跳动短视频推荐系统全链路实践
  • RSS and Atom

最新新闻

  • ThinkPad风扇控制新方案:如何让散热更智能、更安静?
  • S32K3汽车MCU实战:从M7内核到ASIL D安全,赋能电机控制与BMS开发
  • 无传感器BLDC控制:反电动势过零检测与启动算法实战解析
  • DSP56300 EFCOP协处理器C语言开发指南:从硬件原理到FIR/自适应滤波实战
  • Python手写损失函数:从数值稳定到业务适配的实战指南
  • D2DX:让《暗黑破坏神2》在现代PC上焕发新生的终极改造方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号