CodeForces 618A Slime Combining】的更多相关文章

http://www.codeforces.com/contest/618/problem/A 明明觉得是水题,而我却做了一个小时. 明明觉得代码没有错,而我却错了好几次. 因为我的名字不叫明明,也不叫铭铭T_T最后还是铭神指出了我的错误 又新学到了新的姿势: 1.浮点数的比较要用eps来比较 2.log2(n)要写成log10(n)/log10(2) 其他的话这道题目刚开始没有思路,其实在草稿纸上写一下就可以发现了哦我的表达能力太差了只可意会不可言传T_T #include <cstdio>…
A. Slime Combining 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2768 Description Your friend recently gave you some slimes for your birthday. You have n slimes all initially with value 1. You are going to play a game with these slimes. Initi…
题目链接:http://codeforces.com/problemset/problem/1038/D 题意: 给出 $n$ 个史莱姆,每个史莱姆有一个价值 $a[i]$,一个史莱姆可以吃掉相邻的史莱姆,此时其自身的价值就要减掉被吃掉的那个史莱姆的价值. 史莱姆会不断的互相吞噬直到最后只剩一个,要求你该史莱姆可能的最大价值. 题解: 相当于你在 $n$ 个数前面添加 $+$ 或者 $-$,然后拼成一个算式计算答案. 首先考虑到的是,史莱姆的价值是全正或者全负的情况,这样的话,不可能使得所有价值…
A - Wilbur and Swimming Pool Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 596A Description After making bad dives into swimming pools, Wilbur wants to build a swimming pool in the sha…
 Slime CombiningCrawling in process... Crawling failed Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 618A Description Your friend recently gave you some slimes for your birthday. You…
现在水平真的不够.只能够做做水题 A. Slime Combining 题意:就是给n个1给你.两个相同的数可以合并成一个数,比如说有两个相同的v,合并后的值就是v+1 思路:直接模拟栈 #include<iostream> #include<algorithm> #include<stack> using namespace std; ]; int main() { int n; while(cin >> n){ stack<int>p; p.…
D. Slime 题目链接:https://codeforces.com/contest/1038/problem/D 题意: 给出两个数,然后每次可以对相邻的两个数合并,比如x,y,那么合并过后就是x-y或者y-x,这里怎么去减是自己决定的.问怎么合并,最后得到的那个数最大. 题解: 这题主要关键就是发现,最后的式子呈现出来的状态,+.-这两个符号一定是两者都有的,至少存在一个(只有一个数时除外),并且状态覆盖了+.-所有的排列. 发现这个性质过后,贪心解一下就行了.我的做法就是模拟的方法,首…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 相当于让你确定每个数字前面的系数是-1还是+1 有个结论是这样每次和相邻的减的话, 任何出除了全"-1"和全"+1"之外的其他系数组合都能得到. 分初始的时候每个数字的正负贪心地取一下就好 [代码] #include <bits/stdc++.h> using namespace std; const int N = 5e5; int n; int a[N+10],mi; int cntz = 0…
[传送门] 其实就是这些数字前面能加正负号,在满足正负号均出现的情况下价值最大.那么就可以无脑DP$f[i][j][k]$表示到了第$i$位,正号是否出现($j$.$k$为$0$或$1$)能得到的最大价值答案就是$f[n][1][1]$$n$为1的时候特判一下就行举几个例子就能发现加正负号这个方法是对的. #include <bits/stdc++.h> #define ll long long using namespace std; ; ll a[N], dp[N][][]; int ma…
目录 @description@ @solution@ @part - 0@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ 一行上摆有 n 个方格.每一次你可以在最右边的方格滴入一滴史莱姆.有 p 的概率该史莱姆大小为 1,有 (1 - p) 的概率该史莱姆大小为 2. 史莱姆会不断往左滚动,直到遇到另一个史莱姆或边界.假如遇到的是大小相同的史莱姆则合并,大小加一,继续往左滚动:否则直接停下. 等…