比赛题目
比赛
shx6666
这个作者很懒,什么都没留下…
展开
-
序列的美观度
题目思路&代码#include<cmath>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>#define endl '\n'#define BUFF ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)using namespace原创 2021-10-07 19:51:36 · 143 阅读 · 0 评论 -
数字串
题目传送门思路先把所有的可以拆的字母全都拆成两个,判断是否相同;再把所有能合并的字母全都合并,判断是否相同;如果都相同,直接输出-1注意一些特殊的字母,如:j代码#include<cmath>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>#define endl '\n'#def原创 2021-10-07 15:28:18 · 556 阅读 · 0 评论 -
D money
题目思路题目要求的是最小的交易次数和最大的利润,所以例如1351 3 5135就只能交易一次,即从1的时候买,5的时候买。首先我们发现,其实无论买卖几次,最大利润都是一样的,因此我们在计算利润的时候就可以直接计算:for(int i=2;i<=n;i++) if (a[i] > a[i - 1]) ans1 += (a[i] - a[i - 1]);说白了就是只要有利润就赚,管他买几次。接下来我们再在得到最大利润的基础上寻找最小买卖次数。我们先设in是买入的标志,那么第一个原创 2021-10-02 20:04:10 · 191 阅读 · 0 评论 -
J 加法和乘法
题目思路首先需要明确,每一次操作都会减少一张卡片,因此在最后一次操作时还剩两张卡片,这两张卡片有三种情况:全是偶数、全是奇数、一奇一偶。如果最后一次是NiuMeiNiuMeiNiuMei,她需要偶数,有三种方法可以获得:奇数+奇数,偶数+偶数,偶数∗奇数奇数+奇数 ,偶数+偶数 ,偶数*奇数奇数+奇数,偶数+偶数,偶数∗奇数,因此无论剩下什么,牛妹都可以赢。如果最后一次是NiuNiuNiuNiuNiuNiu,他需要奇数,有两种方法可以获得:奇数∗奇数,奇数+偶数奇数*奇数,奇数+偶数奇数∗奇原创 2021-10-02 14:41:22 · 332 阅读 · 0 评论 -
G 糖果
题目思路并查集放上一篇写的比较好的博客:链接: https://blog.csdn.net/the_ZED/article/details/105126583.注意findfindfind函数要进行路径压缩代码#include<cmath>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>原创 2021-10-02 13:25:16 · 78 阅读 · 0 评论 -
D Happy New Year!
题目代码#include<iostream>#include<string>#include<cmath>#include<cstring>#include<algorithm>#include<vector>#define BUFF ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)using namespace std;const int MOD = 2333;原创 2021-10-02 09:23:09 · 104 阅读 · 0 评论 -
H 牛牛与棋盘
#include<iostream>#include<string>using namespace std;int main() { int n; cin >> n; string s1, s2; for (int i = 0; i < n; i++) { s1 += (i % 2 == 0 ? '0' : '1'); s2 += (i % 2 == 1 ? '0' : '1'); } for (int i = 0; i < n /.原创 2021-09-22 20:40:25 · 110 阅读 · 0 评论 -
F-对答案一时爽
这是一道签到题牛牛和牛妹得分的最小值肯定是两个人都一道题也没做出来,为0.最大值是两个人中至少有一个人的答案是正确的,如果两个人的答案相同,那么最好的情况是两个人都对了#include<iostream>using namespace std;const int maxn = 1e4;char a[maxn], b[maxn];int main() { int n;cin >> n; for (int i = 1;i <= n;i++) cin ...原创 2021-03-10 18:47:02 · 73 阅读 · 0 评论 -
塔
#include<iostream>using namespace std;/***********************************观察题目样例给出的高为5层的塔,可以得出以下几个规律对于一个高为n层的塔而言,首先设最上面一层(顶层)为第一层。1. 对于第i层而言,其字符的排列规律为:大写字母表中从第1个字符(A)~第i个字符,后又倒序从第i-1个字符~第1个字符(A)。2. 第1~n-1层每层前都有空格,具体而言,对于第i行,字符前面的空格个数为n-i个。找出以.原创 2021-03-15 21:50:42 · 84 阅读 · 0 评论 -
关于哥俩好的数字这件事
哥俩好啊哥俩好,好了将近三个小时,WA了14次,结果没好出来????????啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!这不是分界线*******************************************************************一开始以为有规律,找了好长时间的规律这就是一个枚举,先做一个预处理,把数位和相同的数都存起来,然后在这些数组里找个数>=n并且和最小的#include<iostream>#include<vector&原创 2021-03-15 21:41:25 · 427 阅读 · 1 评论