- 博客(17)
- 收藏
- 关注
原创 AtCoder Beginner Contest 261 F // 树状数组
AtCoder Beginner Contest 261 F - Sorting Color Balls // 树状数组
2022-07-24 13:03:19 333 1
原创 AtCoder Beginner Contest 261E // 按位思考 + dp
AtCoder Beginner Contest 261E - Many Operations // 按位思考 + dp
2022-07-24 12:37:38 293
原创 AtCoder Beginner Contest 253 F - Operations on a Matrix // 树状数组
This is a summary.
2022-05-29 11:53:48 410 1
原创 Codeforces Round #792 (Div. 1 + Div. 2) // C ~ E
Codeforces Round #792 (Div. 1 + Div. 2):C ~ E,构造,贪心
2022-05-20 17:09:08 294
原创 AtCoder Beginner Contest 249 F - Ignore Operations // 贪心 + 大根堆
传送门:F - Keep Connect (atcoder.jp)题意:给定长度为N的操作(ti,yi)。给定初值为0的x,对其进行操作:当t为1时,将x替换为y;当t为2时,将x加上y。最多可以跳过k步,求最终x的最大值。思路:注意到,当t为1时,进行替换操作,那么该位置前面的操作是不会对后面产生任何影响的,也就不会消耗k。那么我们可以枚举最后一次不跳过的1操作,对于该位置的前面无需考虑,对于该位置的后面:所有的1操作都应跳过(记数量为cnt),且对于2操作选择数值前k
2022-04-23 23:45:16 573
原创 AtCoder Beginner Contest 248 E - K-colinear Line // 计算几何
原题链接:E - K-colinear Line (atcoder.jp)题意:给出直角坐标系上N个点(N <= 300),求经过这些点中至少K个点的直线数量,若有无穷多条,则输出"Infinity"。思路: 两点确定一条直线: 当K=1时,答案自然是无穷多条。 当K >= 2时,我们可以枚举两点,求出其确定的直线,再枚举所有点,判断该直线经过的点数是否不少于K。 求直线方程:用直线的一般式方程Ax+By+C=0(普适性)来表示直线。 已知经过点(x1
2022-04-17 11:51:49 458
原创 AtCoder Beginner Contest 247 E - Max Min // 容斥原理
AtCoder:容斥原理题意:给定一个数组,求满足最大值为X且最小值为Y的区间个数。思路:因为必须要包含端点,直接求是不容易的。因此考虑去求不一定包含端点的区间数量,再做容斥。代码参考://Jakon:容斥原理#include <bits/stdc++.h>#define int long longusing namespace std;const int N = 200010;int n, x, y, a[N
2022-04-17 10:44:56 243
原创 [补题] 2021华中师范大学程序设计新生赛
比赛链接:https://ac.nowcoder.com/acm/contest/26134I.宝藏欲しい思路:存储词典时,用map实现从古语言到现代语言的映射。因为输出时,若无法实现翻译应输出“-1”,所以可以将已经完成翻译的古语言存入队列,若中途出现词典以外的古语言就做一个标志,若能成功翻译就逐一输出队首。代码实现://#define LOCAL#include <bits/stdc++.h>using namespace std;#define int
2021-12-12 23:13:03 857
原创 [三分] Party All the Time
In the Dark forest, there is a Fairy kingdom where all the spirits will go together and Celebrate the harvest every year. But there is one thing you may not know that they hate walking so much that they would prefer to stay at home if they need to walk a l
2021-11-01 23:33:38 112
原创 [C/C++] 变量交换的方法总结
<0> 最简方法这应该是我们学到的第一种变量交换的方法,直接在主函数里借用第三个变量,实现双变量交换。同理,三变量交换就需要第四个变量,以此类推。#include <bits/stdc++.h>using namespace std;int main(void) { int x, y; cin >> x >> y; printf("original: x = %d, y = %d\n", x, y); int
2021-10-31 09:49:28 1163
原创 [贪心] Aaronson
Recently, Peter saw the equation x0+2x1+4x2+...+2mxm=nx0+2x1+4x2+...+2mxm=n . He wants to find a solution (x0,x1,x2,...,xm)(x0,x1,x2,...,xm) in such a manner that ∑i=0mxi∑i=0mxi is minimum and every xixi (0≤i≤m0≤i≤m ) is non-negative.(原题面如下,更容易阅读)..
2021-10-27 00:04:24 158
原创 Luntik and Subsequences
Thought:容易得出规律,满足条件的子数组数量为:cnt1 * 2^cnt0。Attention:①用c/c++语言,很容易想到用pow函数,但是!容易出现问题:pow函数变量是double型,而我们的cnt0为int型,所以可以自定义函数。②虽然ai的范围在int型之内,但数组长度可达60,也就是说,子数组数量可能达到大概2^60是一个很大的数,最好用long long做函数返回值。Code:// #define LOCAL#include <...
2021-10-25 13:24:17 279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人