首页 > 其他分享 > HDU4841 AHOI1999 圆桌问题 题解

HDU4841 AHOI1999 圆桌问题 题解

时间:2023-07-28 09:44:46浏览次数:41  
标签:int 题解 pos AHOI1999 ++ table 圆桌 HDU4841

朴素的约瑟夫问题,用vector处理即可

#include <iostream>
#include <vector>
using namespace std;
//AHOI1999 圆桌问题   类似于约瑟夫问题
vector<int>table;

int n, m;

int main() {
    while (cin >> n >> m) {
        table.clear();
        for (int i = 0; i < 2 * n; i++)
            table.push_back(i);
        int pos = 0;
        for (int i = 0; i < n; i++) {
            pos = (pos + m - 1) % table.size(); //环,取余处理,这一步比较抽象
            table.erase(table.begin() + pos);
        }
        int j = 0;
        for (int i = 0; i < 2 * n; i++) {
            if (!(i % 50) && i)
                cout << endl;
            if (j < table.size() && i == table[j]) {
                j++;
                cout << "G";
            } else {
                cout << "B";
            }
        }
        cout << endl;
    }
    return 0;
}

 

标签:int,题解,pos,AHOI1999,++,table,圆桌,HDU4841
From: https://www.cnblogs.com/Miya555/p/17586768.html

相关文章

  • P2127 序列排序 题解
    原题题目意思\(有一个数列a,每次可以挑选任意两个元素交换位置,代价为这两个元素的和,问把序列a升序排序所需的最小总代价\)\(定义数列上的一个有i个元素的环S使得s_1要换到s_2,s_2要到s_3,……,s_i要到s_1\)\(原图一个元素只有一个目标位置,所以可以看作一个有n点,n边的有向图\)......
  • 【题解】[HNOI2015] 落忆枫音
    题目传送门感觉这题挺有意思的,遂写。题目大意给出一个有向无环图,再给定两个点\(s\)和\(t\),表示在点\(s\)和\(t\)间加上一条边。求这个图有多少种生成树。题目分析首先考虑不加边之前的情况,假设给定下面这个图:根据树的定义,除根节点外的节点有且只有一个父亲节点,也就......
  • 【AI夏令营】NLP赛题解析与Baseline逐行精读
    【任务】1.深入研读baseline代码,仔细理解其每个部分,并记录详尽的学习笔记;2.主动挑战自己,对基线代码进行优化,力求改进代码的实际效果和性能;3.完成任务二,并查看个人成绩排行榜。【Baseline精读】本次主要是针对任务二(关键词提取,也会有部分任务一的内容)首先是库文件的导入:#......
  • AT_arc113_c 题解
    洛谷链接&Atcoder链接本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读。题目简述现在有一个字符串\(S\),每一次你可以选择一个\(i(1\lei\le|S|)\),如果\(S_i=S_{i+1}\neS_{i+2}\)。就可以将\(S_{i+2}\)设为\(S_i\)求最多能操作几次。思路本......
  • 重建 题解
    重建题目大意给定一张无向图,第\(i\)条边存在的概率为\(p_i\),求这个无向图是一颗树的概率。思路分析所求即为:\[\sum_{T}\Bigg(\prod_{e\inT}p_e\Bigg)\Bigg(\prod_{e\not\inT}(1-p_e)\Bigg)\]其中,\(T\)是一个边集,当\(T\)中的边均存在时且其他边均不存在时,原图构成一......
  • AT_abc182_d 题解
    洛谷链接&Atcoder链接本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读。题目简述从数轴的原点开始向正方向走。第一次向前走\(a_1\)步,第二次向前走\(a_1+a_2\),以此类推。求走过的最大位置。思路首先直接模拟时间复杂度\(O(n^2)\),看一下数据范围\((1\leN......
  • Lucky Array 题解
    LuckyArray题目大意维护一个序列,支持以下操作:区间加一个大于\(0\)的数。区间查询有多少个数位上只包含\(4\)或\(7\)的数。思路分析看起来很不可做,但考虑到题目给了一个特殊性质:保证所有数操作前后都不超过\(10^4\)。那么如果暴力进行区间加,最坏情况会加\(1......
  • P9017 [USACO23JAN] Lights Off G 题解
    Description给定正整数\(N\),和两个长为\(N\)的\(01\)序列\(a\)和\(b\)。定义一次操作为:将\(b\)序列中的一个值翻转(即\(0\)变成\(1\),\(1\)变成\(0\),下同)。对于\(b\)序列中每个值为\(1\)的位置,将\(a\)序列中对应位置的值翻转。将\(b\)序列向右循环移位......
  • CF938G Shortest Path Queries 题解
    目录题目链接题目分析为什么使用生成树建树对于异或贡献的分析code题目链接CF938G洛谷挂了只能交CF题目分析本题有以下几个关键点:为什么使用生成树建树首先根据\(WC2011\)我们发现可以使用\(dfs\)序来保存节点之间的关系但是我们发现本题目中存在加边删边操作不......
  • UVA10702 Travelling Salesman 题解
     UVA10702TravellingSalesman题解题面:有个旅行的商人,他每到一个的新城市,便卖掉所有东西再购买新东西,从而获得利润。从某城市A到某城市B有固定利润(B 到A 的利润可能不同)。已知城市可以重复到达,从S 点出发,经过T 个城市,有E个城市能作为终点,求最大的利润。先定义......