This way 题意: 现在哟n道题目,有三个人对这些题目打分(1~5),现在要将这n道题目划分为3个连续的区间,分配给这三个人去做,每个人的值就是他对于他负责的区间的打分的值的和。问你所有人的值的和最小是多少。 题解: 那么其实这道题的解法很明显,首先每个人有先后顺序,但是只有3个人,所以可以暴力枚举每个人的先后情况。 然后对于当前的情况,我们可以枚举第一个人负责的区间到哪,然后找到
[COCI 2023-2024 #2] Kuglice 解题记录 题意简述 一个长度为 n n n 的序列中有 n n n 个球,每个球有一个颜色。现在 A 和 B 轮流从两端取球,如果取的球的颜色之前没有取过就得一分,输出最终比分。 题目分析 因为这个序列是不断缩小的,且两端都可以删除,所以可以看成一个区间,考虑使用区间 DP。 如何设状态? 既然是区间 DP,那么状态肯定是
TRENER 给出一堆人的英文名字(全是小写字母),若有一些字母作为首字母出现不少于5次,则输出所有符合条件的字母。 每读入一个姓名,就给该姓名首字母的次数+1。最后扫一遍所有字母作为首字母出现的次数,大于等于5的输出。 #include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace
[COCI 2008/2009 #2] PERKET 题目描述 Perket 是一种流行的美食。为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道。你有 n n n 种可支配的配料。对于每一种配料,我们知道它们各自的酸度 s s s 和苦度 b b b。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。 众所周
样例210 6((?)+(?))6.0000032 5 3(((?)+(?))*(?))6.0000032 10 6((?)*(?)*(?))8.000000000 分析 首先,我们可以发现,这个问题是可以递归的(大多数表达式都可以递归),递归到最小的子问题的话,这个什么质量表达式本质上有三类: ( A ) (A) (A) ( A 1 + A 2 + … + A k )
样例:1Spavas li Mirno del Potro Juan martine?42An4 voli Milovana. Ana nabra par Banana.12 比较简单 但是考场上只拿了60分 记录一下错误:没有考虑到单词仅有一个字母的情况 只要这个字母大写,就可以 之前的做法则没有考虑到这一点 想的是最后一位要么是小写英文字母 要么是标点 #include<
思路 我们将原题中的数的每一位减一,此时问题等价。 下面的异或都是在三进制下的异或。(相当于不进位的加法) 我们考虑原题中的条件,对于每一位,如果相同,则异或值为 0 0 0,如果为 1 1 1, 2 2 2, 3 3 3 的排列,则异或值也为 0 0 0。 于是我们设 C k C_k Ck 表示有没有 k k k 这个数, a n s = ∑ i ⊕ j ⊕ k = 0
题目大意 给定长为 n n n 一个石子序列,其中的石子有红色和蓝色,可以从左边和右边取。 两个人开始取石子,谁先取到 k k k 个石子就输,求先手是否必胜。 思路 n n n 比较小,考虑记搜。 设 f l , r , k 1 , k 2 f_{l,r,k_1,k_2} fl,r,k1,k2 表示现在剩的石子序列是 l l l 到 r r r,先手再取 k 1 k