Bacteria (Gym - 101911C)】的更多相关文章

2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage Bacteria Gym - 101911C 题意:像2048这个游戏,相同的两个可以合并在一起变成一个数(数值变成二倍),但是现在有一些数只有一个,所以需要添加一个和这些数相同的,让他们可以合并在一起,现在问最小添加多少个数可以把所有的数合成一个. 题解:我感觉类似于数据结构中的哈夫曼编码,最小编码,所以每次取最小的两个,如果这两个相等,就合…
题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; int a[200005]; //存放原始数据 int vis[200005]; //标记选的对手 int b[200005]; //答案序列 queue<int>q; //把所有能够选的都存一次,接着遍历与它有关系的. int main() { int n,x; scanf("%d",&n); memset(…
题目链接:Central Europe Regional Contest 2015 Zagreb, November 13-15, 2015 D.Digit Division(排列组合+思维) 题解:如果这个数从划分的过程中第一.二道竖线前的能够整除m,那么第一道与第二道竖线之间的数也能够整除m. #include <bits/stdc++.h> using namespace std; typedef long long ll; char a[300005]; ll qpow(ll x,ll…
题目很水.睡过了迟到了一个小时,到达战场一看,俩队友AC五个了.. 就只贴我补的几个吧. B - Breaking Biscuits Gym - 101606B 旋转卡壳模板题.然后敲错了. 代码是另一种做法:对于每条边,枚举两边的所有点到直线的距离,分别取最大值,然后加起来. #include <bits/stdc++.h> #define FOPI freopen("in.txt", "r", stdin); #define FOPO freopen…
题意及思路 题目主要是讲先给出所有guard的位置,再给出所有incidents的位置,求出guard到达每个incident处最小的steps,其中guard每次可以向四周8个方向移动. 思路:对于每个guard使用bfs遍历它周围的点,算出相应的点到它的距离. AC代码 #include<bits/stdc++.h> using namespace std; int N, Q; struct Pla { int x, y; }; int dist[5000+10][5000+10]; in…
题目链接 题解:用二分查询一下每次满足长度的下一个加上它的长度. #include <bits/stdc++.h> using namespace std; typedef long long ll; ll a[500005]; ll b[500005] = {0}; int main() { ll n,i,j,k,p=1,l,r; char c; memset(a,0,sizeof(a)); while((c=getchar()) != '\n') { if(c == ' '){a[p]++…
Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 628    Accepted Submission(s): 244 Problem Description 众所周知,度度熊喜欢各类体育活动.今天,它终于当上了梦寐以求的体育课老师.第一次课上,它发现一个有趣的事情.在上课之前,所有同学要排成一列, 假设最开始每个人有…
题目链接: https://codeforces.com/gym/102082 题意: 在一个客车里面有$r$排座位,每排座位有$2s$个座位,中间一条走廊 有$p$个人在车内,求出所有人走出客车的最短时间 数据范围: $1\leq r\leq 500$ $1\leq s\leq 500$ $1\leq p\leq 2sp$ 分析: 一道全场题,居然想了三个小时,我也是醉了. 解法一:模拟每秒他们的动作.如果有多个人下一秒要走向同一个位置,他们任何一个人走上去都行.重点是,这样的复杂度是$O(s…
http://codeforces.com/gym/101246/problem/J 题意: 给定x轴上的n个点的坐标,按顺序从左到右给出,现在要使得每个点的间距相同,可以移动每个点的坐标,但是不能改变点的相对顺序.求总共最少需要移动多少距离和移动后点的坐标. 思路: 一开始想到用二分搜索,然后枚举一个点为不动点,但是这样我不知道该怎么去改变L.R的值了.. 仔细想想,这道题目所对应的模型图应该是这样的: 中间存在一点可以使移动距离最短,两边很大,因为间距设置的太小和太大都需要移动很多距离.这道…
题目链接 Alternating Strings II 题意是指给出一个长度为n的01串,和一个整数k,要求将这个01串划分为很多子串(切很多刀),使得每个子串长度不超过k,且每个字串不是01交替出现的串(例如01, 10, 101, 010, 101010这些都是01交替出现的串),求最少需要切多少次 令F[i]代表前i个数所需要切的最少的刀数(从1开始计数),那么有 F[i]  = min{F[j] | |j + 1, i| <= k 且 [j, i]这个子串不是01交替出现的串} + 1…