2023.10.14 做题记录
P5595 歌唱比赛
一个非常简单的贪心。
先判断什么时候是 -1
,将字符串从头开始往后遍历,Z
的右边不能有 X,Y
,如果有则直接输出 -1
。
因为是 SPJ,如果该字符串有答案的话,倒着看,字母是谁的就随便给一个大的数,如果是 \(X\),则小\(X\)的数为 \(5\),小\(Y\)的数为 \(4\),其余情况同理。
CF1428B
若一个房间左边或右边是 -
,则其必符合条件,用 \(cnt1\) 来统计。
若一个房间左右都是 <
,用 \(cnt2\) 统计。
若一个房间左右都是 >
,用 \(cnt3\) 统计。
当 >
和 <
都存在时,\(2\) 和 \(3\) 类房间都不符合条件,答案为 \(cnt1\)。
当 <
存在且 >
不存在时,\(2\) 类房间符合条件,答案为 \(cnt1 + cnt2\)。
当 >
存在且 <
不存在时,\(3\) 类房间符合条件,答案为 \(cnt1 + cnt3\)。
CF743C
将 \(\frac{2}{n}\) 分为 \(\frac{1}{n}\)+\(\frac{1}{n}\),
再根据裂项公式 $\frac{1}{n}$-$\frac{1}{n+1}$=$\frac{1}{n(n-1)}$ 导出 $\frac{1}{n}$=$\frac{1}{n+1}$+$\frac{1}{n(n-1)}$
所以 $\frac{2}{n}$=$\frac{1}{n}$+$\frac{1}{n+1}$+$\frac{1}{n(n-1)}$
然后 $\frac{1}{x}$+$\frac{1}{y}$+$\frac{1}{z}$=$\frac{1}{n}$+$\frac{1}{n+1}$+$\frac{1}{n(n-1)}$
于是 $x=n,y=n+1,z=n(n-1$)
CF476D
猜结论!
观察两组样例,可以发现共同点
- 样例一输出的是
1,2,3,5
- 样例二输出结果中最小的四个数是
2,4,6,10
不难发现,二者具有二倍关系,二者二倍关系刚好是 \(k\)
猜出结论!
cin >> n >> k;
cout << (6 * n - 1) * k << endl;
for (rint i = 1; i <= n; i++)
{
int x = 6 * i - 5;
cout << x * k << " " << (x + 1) * k << " " << (x + 2) * k << " " << (x + 4) * k << endl;
}
CF1430C
继续猜结论,一直从右往左删即可,最小值为 \(2\)
因为删到最后状态一定剩两个数,由于不可能剩两个 \(1\),所以最小值为 \(2\)。
我们可以将两个数相加除以二看作将两个数消成一个数,那要让剩下的数最小,就应该先去消大的,所以从右边开始消即可。
标签:2023.10,frac,14,记录,房间,样例,cnt1 From: https://www.cnblogs.com/spaceswalker/p/17764430.html