首页 > 小苯的ovo2.0
头像 AliLexiWalker
发表于 2026-03-30 01:17:44
ovo 的中间一定是个 v,那就别纠结整串,盯着每个 v 看它能配出多少组。 如果最后一共放了 k 个 o,当前前面已经有 j 个 o,那这个位置放 v 的贡献就直接是 j*(k-j);所以做个 DP,边走边决定这位放 o 还是 v,把贡献最大化。 void solve(){ string 展开全文
头像 Lambda_L
发表于 2026-03-30 01:04:34
思路注意到对于一个 o 来说,它越靠字符串的两端(极左或极右),它能包住的 v 就越多,价值越大。对于一个 v 来说,它越靠字符串的中间,它左边的 o 和右边的 o 就越均衡,价值越大假设你在  ? 的替换中,搞出了一个 vov 的替换序列中间的那个 o 被夹在两个 v 中间,,位置比较吃亏。如 展开全文
头像 此在Dasein
发表于 2026-03-30 04:10:08
1. 问题分析 题目要求通过将字符串 中的 '??' 替换为 'o' 或 'v',以最大化目标子序列的个数。首先,根据示例数据的推演,我们需要纠正一个关键逻辑点: 数学特征:对于一个确定的字符串,其 "ovo" 子序列的总数可以通过遍历所有字符 'v' 并计算其左右两侧 'o 展开全文
头像 飞鸢泛惊鸿
发表于 2026-03-30 11:34:54
先全部改成o,然后二重循环枚举一个范围,将此范围改成v,然后计算取最大值同时可以在上一个答案大于本次计算答案时,退出循环 #include <iostream> #include <vector> #include <string> using namespace 展开全文
头像 olone
发表于 2026-03-30 14:39:00
import java.util.*; public class Main{ static Scanner in = new Scanner(System.in); static final int inf = -0x3f3f3f3f; static void solve( 展开全文
头像 olone
发表于 2026-03-30 14:59:17
import java.util.*; public class Main{ static Scanner in = new Scanner(System.in); static long cal(String s){ long a = 0; lon 展开全文
头像 让伤痛为我加冕
发表于 2026-03-30 17:14:58
#include<iostream> #include<vector> #include<string> using namespace std; int foreocnt(string s, int i) { int sum = 0; for (int j 展开全文

等你来战

查看全部