当前位置: 首页 > news >正文

2026-04-07

CF

Problem - 1692H - Codeforces

一道很好的dp思维题

#include <bits/stdc++.h>
using namespace std;
#define LL long long
//#define double long double
#define endl '\n'
#define ULL unsigned long long
const LL mod = 998244353;
const int N = 2e5+10;
int a[N], lst[N];
int dp[N], l[N];void solve()
{int n;cin >> n;map<int, int> mp;for (int i = 1; i <= n;i++){cin >> a[i];lst[i] = mp[a[i]];mp[a[i]] = i;}int ans = 0, pos = 0;for (int i = 1; i <= n;i++){if(dp[lst[i]]-(i-lst[i]-1)>0){dp[i] = dp[lst[i]] - (i - lst[i] - 1) + 1;l[i] = l[lst[i]];}else{dp[i] = 1;l[i] = i;}if(dp[i]>ans){ans = dp[i];pos = i;}}cout << a[pos] << " " << l[pos] << " " << pos << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--){solve();}
}

Problem - 1843F1 - Codeforces

简单树形dp
或者说树上的前缀 DPmx1,mn1 + 最大子段和 DPmx,mn

注意mx1,mx数组初始化

#include <bits/stdc++.h>
using namespace std;
#define LL long long
//#define double long double
#define endl '\n'
#define ULL unsigned long long
const LL mod = 998244353;
const int N = 2e5+10;
int mx1[N], mn1[N];//以i结尾
int mx[N], mn[N];//根到i中的最大和最小void solve()
{int n;cin >> n;for (int i = 1; i <= n;i++){mx1[i] = mn1[i] = mx[i] = mn[i] = 0;}mx[1] = mx1[1] = 1;//注意int idx = 1;//编号int fa, x;for (int i = 1; i <= n;i++){char ch;cin >> ch;if(ch=='+'){cin >> fa >> x;mx1[++idx] = max(mx1[fa] + x, x);mn1[idx] = min(mn1[fa] + x, x);mx[idx] = max(mx[fa], mx1[idx]);mn[idx] = min(mn[fa], mn1[idx]);}else{int u, v, k;cin >> u >> v >> k;if(mn[v]<=k&&k<=mx[v]){cout << "YES\n";}else{cout << "NO\n";}}}
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T;cin >> T;while (T--){solve();}
}

Problem - 626D - Codeforces

概率dp好题

#include <bits/stdc++.h>
using namespace std;
#define LL long long
//#define double long double
#define endl '\n'
#define ULL unsigned long long
const LL mod = 998244353;
const int N = 2010;
int a[N];
double dp[5][5010];int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i = 1; i <= n;i++){cin >> a[i];}sort(a + 1, a + 1 + n);int tot = 0;for (int i = 1; i <= n;i++){for (int j = i + 1; j <= n;j++){if(a[j]>a[i]){//保证严格大于dp[1][a[j] - a[i]]++;tot++;}}}for (int i = 1; i <= 5000;i++){dp[1][i] /= tot;//计算概率}for (int i = 1; i <= 5000;i++){for (int j = 1; j <= 5000;j++){dp[2][i + j] += dp[1][i] * dp[1][j];//重要一步}}double ans = 0.0;for (int i = 1; i <= 5000;i++){for (int j = i + 1; j <= 5000;j++){ans += dp[2][i] * dp[1][j];//二轮概率*第三轮大于前两轮之和的概率}}cout << fixed << setprecision(10) << ans << endl;
}

天梯赛补题

L2-047 锦标赛 - 团体程序设计天梯赛-练习集

#include <bits/stdc++.h>
using namespace std;
#define LL long long
//#define double long double
#define endl '\n'
#define ULL unsigned long long
const LL mod = 998244353;
const int N = 2e5+10;
int win[20][1 << 18];//记录赢家编号
int ans[1 << 18];
int lost[20][1 << 18];//记录输家能力值int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int k;cin >> k;for (int i = 1; i <= k;i++){for (int j = 0; j < (1 << (k - i));j++){//每一轮输家cin >> lost[i][j];if(i==1){//对第一轮特殊处理,假设左边输ans[j << 1] = lost[i][j];win[i][j] = j << 1 | 1;}else{if(lost[i][j]<lost[i-1][j<<1]&&lost[i][j]<lost[i-1][j<<1|1]){cout << "No Solution\n";return 0;}else if(lost[i][j]>=lost[i-1][j<<1]){//左边输满足,就让左边输//对于这一轮 j 场比赛//比赛选手编号分别为win[i-1][j<<1](左),win[i-1][j<<1|1](右)ans[win[i - 1][j << 1]] = lost[i][j];win[i][j] = win[i - 1][j << 1 | 1];}else{ans[win[i - 1][j << 1 | 1]] = lost[i][j];win[i][j] = win[i - 1][j << 1];}lost[i][j] = max(lost[i][j], max(lost[i - 1][j << 1], lost[i - 1][j << 1 | 1]));//更新子树能力最大值}}}int w;cin >> w;if(lost[k][0]>w){cout << "No Solution\n";return 0;}ans[win[k][0]] = w;for (int i = 0; i < (1 << k);i++){if(i!=0)cout << " ";cout << ans[i];}
}
http://www.jsqmd.com/news/604163/

相关文章:

  • Vivado收费IP核怎么选?从以太网到视频接口,这份避坑指南帮你省下冤枉钱
  • 即时通讯安全篇(十六):对称加密 vs 非对称加密?一文搞懂!
  • 别再死磕DHT11了!用ESP32-S3和AHT20做个高精度温湿度计(附完整代码和I2C避坑指南)
  • 2026上海紧固件专业展升级亮点:论坛、采购与对接全面强化
  • Steam Achievement Manager:全面掌控游戏成就的开源解决方案
  • P13825 动态开店线段树
  • Koikatu HF Patch 全方位优化指南:从零开始的游戏增强之旅
  • Redis 只会用缓存?16种妙用让同事直呼牛X
  • 319嵌入式
  • 3大技术突破重构Steam资源管理:Onekey Depot清单工具深度解析
  • 写程序演唱会应援灯牌薄片,轻便高亮,输出:粉丝经济小单,量大快出。
  • Abaqus在铁路轨道建模及相关耦合分析中的探索
  • TranslucentTB任务栏透明美化工具:从安装失败到完美运行的完整指南
  • 电动夹爪厂商的技术优势与产品规格,推荐2026年优质电动夹爪厂商 - 品牌2026
  • 告别Steam清单配置烦恼:Onekey智能配置工具的优雅解决方案
  • Axure RP本地化技术指南:从英文界面到全中文工作流
  • 从训练到上线:在快马平台实战部署一个基于anaconda的机器学习web应用
  • 讲透100个最核心的硬件电路-设计实战专栏:购买权益计划B05
  • GD32F4移植实战:基于Cube HAL库的USB虚拟串口问题排查与适配
  • 21天学会基于 Linux 的 NPU 固件开发--12.2 大模型端侧部署挑战:量化/剪枝/蒸馏
  • 从原理到实践:Advancing Front算法在三维表面重建中的核心机制与优化策略
  • Python 3.14 JIT启用即高危?揭秘JIT编译器在容器环境中的seccomp绕过风险与eBPF实时拦截方案
  • 终极指南:如何在Windows 10上完整部署Android子系统(WSA)技术方案
  • 三轴姿态传感器选型指南:从QMI8658C到MPU6050的5个关键参数对比
  • 告别默认丑样式!手把手教你用WPF的ControlTemplate打造高颜值TreeView(附完整XAML代码)
  • 终极B站资源下载解决方案:BiliTools跨平台工具箱完全指南
  • 华三交换机Console口密码清除
  • 利用快马平台十分钟搭建worldmonitor数据监控可视化原型
  • ngx_create_listening
  • IndexTTS 2.0对比实测:零样本克隆与传统训练效果差异