[ABC268C] Chinese Restaurant

声明:以上的所有操作都会再做一次\(%n+n)%n\),比如\(i - 1\)会变成\(((i-1)%n+n)%n\)

题意

有 \(n\) 个人和 \(n\) 个盘子,每个人如果能拿到 \(i - 1\) 或 \(i\) 或 \(i + 1\) 号盘子那么他会很开心,现在每个人的站位是 \(p_i\),他们的站位位置可以同时 $ + 1$,问最多可以有多少人觉得很开心。

思路

由于是一起动,所以可以用桶记录每个人走了多少步又到了那里,但是这样是 \(O(n^2)\) 的存不下也会超时。我们知道只有他在固定的盘子前才会觉得开心,所以有些桶是没用的,所以只要记录每个人到他想要去的盘子要多远就可以了,时间复杂度和空间复杂度为 \(O(n)\),在记录要走多远的时候,要注意细节。

代码

#include <iostream>

using namespace std;

const int MaxN = 2e5 + 10;

int cnt[MaxN], p[MaxN], n, ans;

int main() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> p[i];
cnt[n - ((p[i] - (i - 1 + n) % n) + n) % n]++, cnt[n - ((p[i] + n - i) + n) % n]++, cnt[n - ((p[i] + n - (i + 1) % n) + n) % n]++;
}
for (int i = 0; i < n; i++) {
ans = max(ans, cnt[i]);
}
cout << ans << endl;
return 0;
}

[ABC268C] Chinese Restaurant的更多相关文章

  1. URAL 1962 In Chinese Restaurant 数学

    In Chinese Restaurant 题目连接: http://acm.hust.edu.cn/vjudge/contest/123332#problem/B Description When ...

  2. Distance dependent Chinese Restaurant Processes

    Here is a note of Distance dependent Chinese Restaurant Processes 文章链接http://pan.baidu.com/s/1dEk7ZA ...

  3. 中国餐馆过程(Chinese restaurant process)

    也就是说假设空桌子有a0个人,然后顾客选择桌子的概率和桌子上人数成正比. 性质: 改变用户的排列方式,桌子的排列方式,概率不变换.

  4. R Language

    向量定义:x1 = c(1,2,3); x2 = c(1:100) 类型显示:mode(x1) 向量长度:length(x2) 向量元素显示:x1[c(1,2,3)] 多维向量:multi-dimen ...

  5. Notes on the Dirichlet Distribution and Dirichlet Process

    Notes on the Dirichlet Distribution and Dirichlet Process In [3]: %matplotlib inline   Note: I wrote ...

  6. Dirichlet Process 和 Dirichlet Process Mixture模型

    Dirichlet Process 和 Dirichlet Process Mixture模型 [本文链接:http://www.cnblogs.com/breezedeus/archive/2012 ...

  7. Diet

    Dialogue 1   Healthy diet 关于健康饮食 F:Bob, look at this sentence. 'Healthy eating is not about strict n ...

  8. 《Dynamic Topic Detection and Tracking: A Comparison of HDP, C-Word, and Cocitation Methods》笔记

    原文地址:http://onlinelibrary.wiley.com/doi/10.1002/asi.23134/abstract 黄色背景是我认为比较重要的,红色字体是我自己的话. 动态主题监测与 ...

  9. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior

    先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...

  10. [IR] Concept Search and LDA

    重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...

随机推荐

  1. Android studio的基本使用--基础篇

    一.新建项目 其实跟IDEA新建项目的流程基本一致,File->New->New project,这样就能够新建出来一个项目啦! 一般情况下,我们都会选择Empty Activity,之后 ...

  2. java异常--处理机制

    java异常处理机制 异常处理的关键字:try catch finally throw throws package charpter6.Demo02; public class Test { pub ...

  3. 获得New Bing资格后,在Ubuntu环境下使用New Bing

    技术背景 如今基于GPT-4的New Bing,结合搜索引擎的功能,可以说已经达到了非常高的智力水平.虽说ChatGPT的出现打击了很多的行业,但是对我们来说也未必不是一种机遇.合理的使用ChatGP ...

  4. 全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门python代码解释应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

    目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...

  5. forEach如何终止循环

    try { try { this.list.forEach(item => { ..... throw new Error('end') }) } catch(err) { console.lo ...

  6. $\mathcal{Crypto}$ 共模攻击原理实现以及$\mathcal{CRT}$优化

    \(\mathcal{共模攻击概述}\) 共模攻击是一种攻击 \(\mathcal{RSA}\) 加密的技术,当两个密文使用相同的 \(\mathcal{RSA}\) 公共模数时,攻击者可以使用中国剩 ...

  7. InnoDB Buffer Pool改进LRU页面置换

    由于硬盘和内存的造价差异,一台主机实例的硬盘容量通常会远超于内存容量.对于数据库等应用而言,为了保证更快的查询效率,通常会将使用过的数据放在内存中进行加速读取. 数据页与索引页的LRU 数据页和索引页 ...

  8. 你不得不了解的CSS数据类型

    在我之前的开发中,CSS对于我来说,要用什么找什么,对CSS的了解并不算深入:在我刚开始深入学习CSS时,第一个遇到的就是CSS数据类型,我听说过JS.TS的数据类型,CSS怎么也有数据类型?但是随着 ...

  9. R语言文本数据挖掘(一)

    文本挖掘可以视为NLP(Natural language processing,自然语言处理)的一个子领域,目标是在大量非结构化文本中整理析取出有价值的内容.由于人类语言具有很高的复杂性,例如不同语言 ...

  10. python实现微信自动发消息功能

    import timeimport uiautomation as autofrom uiautomation.uiautomation import Bitmapimport win32clipbo ...