![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
霜雨蓝焰,
这个作者很懒,什么都没留下…
展开
-
CodeForces - 555A(思维)
CodeForces - 555A俄罗斯套娃,要想将他分开必须从最外面开始操作首先假设是完全分开的需要n-1次操作试他们连接起来,而在输入的序列中只有当1开头的一段连续序列不需要解开其余非1开头序列必须全部解开,而1开头的只需要解开尾部不连续的部分,即前面的不需要链接,只需要减去前面已连接的操作就可以了,#include<cstdio>#include<algor...原创 2019-10-21 00:23:09 · 185 阅读 · 0 评论 -
Codeforces Round #295 (Div. 2) C. DNA Alignment(数学)
转载转载 2019-10-19 18:25:44 · 118 阅读 · 0 评论 -
CodeForces - 520A(思维)
CodeForces - 520A思维题,只需要判断是不是26个字母都出现过就行(不区分大小写)#include<iostream>#include<set>using namespace std;int main(){ set<int>p; int n; string a; cin>>n; cin>>a; for(...原创 2019-10-19 18:03:20 · 217 阅读 · 0 评论 -
CodeForces - 574C(思维+最小表示法)
CodeForces - 574C 根据唯一分解定理每一个数都可以表示成(2p13p2~~~~~~~~~),因为可以每次可以乘无数个二或无数个3,所以只需要将每个数中含有的2和3全部除掉,只要剩下的部分相同就可以完成了。#include<iostream>#include<vector>#include<cstdio>#include<cstri...原创 2019-10-16 17:56:03 · 205 阅读 · 0 评论 -
CodeForces - 574A(思维+优先队列)
CodeForces - 574A直接暴力,因为要贿赂使自己的票数最高,让比自己票数高的都小于自己,所以可以每次只贿赂票数最高的人,这样就可以以最小的次数让自己的票数最高,这一过程可以通过一优先队列来实现(每次取队首–,自己++,然后将队首加入队列)重复以上过程直到队首小于自己的票数。#include<iostream>#include<vector>#includ...原创 2019-10-16 17:46:05 · 177 阅读 · 0 评论 -
CodeForces - 574B(思维+暴力)
CodeForces - 574B思维题最暴力的想法是直接枚举3个点,这样复杂度为o(n^3),对于4000的数据量肯定会挂掉,所以可以改变一下思路先枚举边,每枚举出一条边就得到了两个点,然后枚举剩下那个点找到度数最小值就行。#include<iostream>#include<vector>#include<cstdio>#include<c...原创 2019-10-16 17:31:37 · 158 阅读 · 0 评论 -
HAPPY_国庆大礼包-E
题目链接题意:给你两个二进制字符串,a,b,和待求值 k 问你怎样使a + b * 2 ^ k的反向后的字典序最小。对于普通的二进制加法,要使反向后的字符串字典序最小,一定是加完之后的末尾0的数量最多,对于 b * 2 ^ k操作其实质是在b字符串后面添加k个0,所以只需要计算在b后添加几个0可以使b字符串最后一个1与a字符串最后一个1对齐,添加0的数量即b向右移位的次数就是k的最小值#in...原创 2019-10-12 15:56:15 · 121 阅读 · 0 评论