J - Juggling Troupe Gym - 101623J(结论)

2024-04-15 23:48

本文主要是介绍J - Juggling Troupe Gym - 101623J(结论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意:
一些数(0,1,2)。
每轮游戏中2会分到左右两个位置(第一个和最后一个只会分到一个位置)。
全是0,1时游戏结束,求最终序列。

思路:
感觉像个经典结论题(波形碰撞?),但是找不到源头,感觉证明不了。。。
将每个2单独考虑,找到其左边第一个a[l]=0,右边第一个a[r]=0,可以发现在l+r-x的位置会出现0,a[l],a[r]变成1。然后依次考虑下去。

#include<cstdio>
#include<set>
#include<cstring>
#include<algorithm>using namespace std;
const int maxn = 1e6 + 7;char s[maxn];
set<int>st;int main() {scanf("%s",s + 1);int n = strlen(s + 1);st.insert(0);st.insert(n + 1);for(int i = 1;i <= n;i++) if(s[i] == '0') st.insert(i);for(int i = 1;i <= n;i++) {if(s[i] == '2') {auto r = st.lower_bound(i),l = r;--l;int x = *l + *r - i;if(*l > 0) st.erase(l);if(*r <= n) st.erase(r);st.insert(x);}}for(int i = 1;i <= n;i++) s[i] = '1';for(auto it = st.begin();it != st.end();it++) {s[*it] = '0';}for(int i = 1;i <= n;i++) printf("%c",s[i]);return 0;
}

这篇关于J - Juggling Troupe Gym - 101623J(结论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907262

相关文章

Creating OpenAI Gym Environment from Map Data

题意:从地图数据创建 OpenAI Gym 环境 问题背景: I am just starting out with reinforcement learning and trying to create a custom environment with OpenAI gym. However, I am stumped with trying to create an enviro

【codeforces】gym 101137 K - Knights of the Old Republic【用最小生成树对图做集合dp】

题目链接:【codeforces】gym 101137 K - Knights of the Old Republic 考虑对图集合dp,一个连通块的dp值为两个连通块的值的和或者强制加一条新边后的最小值,取个最小值(边从小到大枚举,则强制加一条最大的边会导致连通块内较小的边一定都选,则会构成一个生成树)。用kruskal实现这个dp过程即可。 #include <bits/stdc++.h>

【codeforces】gym 101138 K. The World of Trains【前缀和优化dp】

题目链接:K. The World of Trains 记录一个横着的前缀dp和以及斜着的前缀dp,复杂度 O(n2) O(n^2) #include <bits/stdc++.h>using namespace std ;typedef pair < int , int > pii ;typedef long long LL ;#define clr( a , x ) memset (

How to user “Discrete“ object in openai-gym environments?

题意:怎样在 OpenAI Gym 环境中使用 “Discrete” 对象 问题背景: I am trying to create a Q-Learning agent for a openai-gym "Blackjack-v0" environment. I am trying to get the size of the observation space but its in

OpenAI Gym custom environment: Discrete observation space with real values

题意:OpenAI Gym 自定义环境:具有实数值的离散观测空间 问题背景: I would like to create custom openai gym environment that has discrete state space, but with float values. To be more precise, it should be a range of valu

斜率优化dp结论

斜率优化dp 一切的前提为:k<j<i,假设从j转移到i比从k转移到i更优(即靠后的j优),去按照题目推导不等式,如果得到g(k,j)<f(i),因为想在决策i的时候f(i)其实为常量,我们设为C=f(i),则将前述不等式表述一般化:定理:对于下标k<j,如果g(k,j)<C,则靠后的j更优;否则,g(k,j)>C,靠前的k更优。 结论:如果g(i,j)<C,最后求最优解时维护下凸包。 证明:设由

7 个有效策略,让撰写论文结论部分更轻松,留下深刻印象又有影响力

写出有效的结论对于任何论文的成功都至关重要。这是您给读者留下持久印象并阐明您的要点的最后机会。一个精心设计的结论可以将你的文章从优秀提升到卓越,使其令人难忘和有影响力。让我们探索七种强大的策略,以创建引人注目的论文结论,从而引起您的听众的共鸣。 1. 呼应你的开场白 结束你的文章的一种有效技巧是通过重新审视关键图像、故事或想法来与你的引言产生共鸣。这种方法提供了一种完成感,同时展示了你的论点在

数三角形(二)》-筛除法斜线结论

算法思路: 1、一个直观的思路是筛除法,即:答案=总数-三点共线的种数 总数易求得,为组合数C((n+1)*(m+1),3),考虑到n、m数值范围,考虑用long long。 2、三点共线的情况有: (1)网格顶点同行,每行有m+1个顶点,共n+1行,共有:C(m+1,3) * (n+1) (2)网格顶点同列,每列有n+1个顶点,共m+1列,共有:C(n+1,3) * (m+1) (3)网格顶

GYM 100685 K

乱搞题 统计每一个不是magic word的单词,然后每个make_pair 然后按照公式计算答案。 因为这里是乱序的统计make_pair的情况,所以如果相邻的是相同的就会多统计一倍,在计算答案的是就要去掉,如果你保证字典序小的在前面,那就无所谓啦。 // whn6325689// Mr.Phoebe// http://blog.csdn.net/u01

GYM 100685 G【并查集】

一开始看题就水了一发bitset,本地是没有什么问题,但是交上去果断地MLE了。 那么就想到乱搞,假设将其变成一颗有根树,如果dfs的时候走的是正的边,就在正的并查集里面merge,如果走的是负的边,就在反的并查集里面merge。 对于一个查询,查询一下他们的LCA,如果他们的LCA,在u(或者v)正的并查集中,在另一个反的并查集内,那么就是可以访问,否则不行。 大家可以脑补一下图像,必然是