题目链接:Here

给 \(m\) 个数,放到 \(1→n\) 一个位置上,若 \(1→n\) 都被填满且不下降就胜。强制在线。

看到题忽然觉得是水题,这不就最长不下降子序列的那个吗!直接上个二分就准备交了。

事实证明头铁了(怎么可能这么简单,2000分啊!)

反例:

15 5 9
29 1 8 1 7

若一个从前往后一个从后往前就可以完成,而那个做法还只填了 1 1 7 呢!

问题出在哪里?

  • 最长不下降子序列要求相对位置不变,而这个可以变。

但别着急放弃。这是一个对的做法,只是浪费的步数多一点,那么浪费多少步呢?每一个最多被填 \(1\) 次并覆盖 \(c−1\) 次,所以最多要 \(n×c\) 步。

啊!那 \(m\) 的限制不是这个步数的一半吗?那么就搞两个上面的,头一个尾一个,然后按照和 \(\frac c2\) 的大小关系分开就好了。

【AC Code】

const int N = 1e3 + 10;
int a[N];
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
int n, m, c, cnt = 0;
cin >> n >> m >> c;
for (int i = 1, x; i <= m; ++i) {
cin >> x;
if (x <= c / 2) {
int j;
for (j = 1; j <= n && a[j] != 0 && a[j] <= x; ++j);
cout << j << endl;
a[j] = x;
} else {
int j;
for (j = n; j >= 1 && a[j] != 0 && a[j] >= x; j -= 1);
cout << j << endl;
a[j] = x;
}
}
}

题解 | 【CF896B】 Ithea Plays With Chtholly的更多相关文章

  1. 交互题[CF1103B Game with modulo、CF1019B The hat、CF896B Ithea Plays With Chtholly]

    交互题就是程序与电脑代码的交互. 比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数. 还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互 ...

  2. Codeforces 897D. Ithea Plays With Chtholly (交互)

    题目链接:D. Ithea Plays With Chtholly 题意: 给你n张纸,在纸上写字(在 1 - c之间)可以写m次数 (,).(主要是交互,让你判断) 题解: 首先,看到m>=n ...

  3. 【CodeForces】896 B. Ithea Plays With Chtholly

    [题目]B. Ithea Plays With Chtholly [题意]交互题,有n格,每次给一个[1,c]的数字,回答填入的位置后再次给数字,要求在m轮内使n格填满且数列不递减.n,m>=2 ...

  4. Codeforces D - Ithea Plays With Chtholly

    D - Ithea Plays With Chtholly 思路:考虑每个位置最多被替换c/2次 那么折半考虑,如果小于c/2,从左往右替换,大于c/2总右往左替换,只有小于这个数(从左往右)或者大于 ...

  5. CF&&CC百套计划1 Codeforces Round #449 B. Ithea Plays With Chtholly

    http://codeforces.com/contest/896/problem/B 题意: 交互题 n张卡片填m个1到c之间的数,1<=n*ceil(c/2)<=m 最后填出一个单调非 ...

  6. Codeforces Round #449 [ C/A. Nephren gives a riddle ] [ D/B. Ithea Plays With Chtholly ]

    PROBLEM C/A. Nephren gives a riddle 题 http://codeforces.com/contest/896/problem/A codeforces 896a 89 ...

  7. Codeforces Round #449 (Div. 2) D. Ithea Plays With Chtholly

    题目链接 交互题. 题意:给你三个数n,m,k.让你完成至多m次互动,每次给你一个q,让你从n个位置选一个位置放这个数,覆盖已经放过的数.让你再m次使得n个位置的数不递减,达到直接退出. 解法:暴力, ...

  8. Codeforces Round #449 (Div. 2)ABCD

    又掉分了0 0. A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input ...

  9. Codeforces Round #449

    960  asteri 1384     492 00:04 -1 892 01:33     960 PEPElotas 1384     488 00:06 896 00:26       960 ...

  10. 【题解】Willem, Chtholly and Seniorious Codeforces 896C ODT

    Prelude ODT这个东西真是太好用了,以后写暴力骗分可以用,写在这里mark一下. 题目链接:ヽ(✿゚▽゚)ノ Solution 先把原题解贴在这里:(ノ*・ω・)ノ 简单地说,因为数据是全部随 ...

随机推荐

  1. RIPEMD加密技术

    摘要:RIPEMD(RACE Integrity Primitives Evaluation Message Digest)是一种密码散列函数,广泛应用于网络安全领域.本文首先介绍RIPEMD的起源和 ...

  2. [ABC263C] Monotonically Increasing

    Notes For two integer sequences of the same length $A_1,A_2,\dots,A_N$ and $B_1,B_2,\dots,B_N$, $A$ ...

  3. 聊一聊 .NET高级调试 中必知的符号表

    一:背景 1. 讲故事 在高级调试的旅行中,发现有不少人对符号表不是很清楚,其实简而言之符号表中记录着一些程序的生物特征,比如哪个地址是函数(签名信息),哪个地址是全局变量,静态变量,行号是多少,数据 ...

  4. ElasticSearch之cat pending tasks API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/pending_tasks?v=true&pretty" --cacert ...

  5. Python——第五章:os模块、sys模块

    os 模块 os 模块提供了很多允许你的程序与操作系统直接交互的功能 import os 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  6. Navicat Premium多用户破解方法 12以上版本

    https://www.cnblogs.com/cgqplus/p/15267306.html 本文不提供注册机或者破解工具,本论坛多的是,搜索一下就好了. 本方法适用于多用户环境下使用,比如在服务器 ...

  7. Java反序列化漏洞-CC1利用链分析

    @ 目录 一.前置知识 1. 反射 2. Commons Collections是什么 3. 环境准备 二.分析利用链 1. Transformer 2. InvokeTransformer 执行命令 ...

  8. DVWA Brute Force(暴力破解)全等级

    Brute Force(暴力破解) 目录: Brute Force(暴力破解) 1.Low 2.Medium 3.High 方法1--Burp爆破 方法2--Python脚本爆破 4.Impossib ...

  9. Reactor 简介

    官方的介绍如下: Reactor is a fully non-blocking reactive programming foundation for the JVM, with efficient ...

  10. 神经网络基础篇:关于 python_numpy 向量的说明(A note on python or numpy vectors)

    关于 python_numpy 向量的说明 主要讲Python中的numpy一维数组的特性,以及与行向量或列向量的区别.并说一下在实际应用中的一些小技巧,去避免在coding中由于这些特性而导致的bu ...