交互题就是程序与电脑代码的交互. 比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数. 还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互了 fflush(stdin) 作用:清理标准输入流,把多余的未被保存的数据丢掉 fflush(stdout) 作用:清空输出缓冲区,并把缓冲区内容输出 CF1103B Game with modulo 题意:有一个需要你猜的数a,你每次可以猜两个数,如果x%a>=y%a,则返回x,否则返回y.你最…
题目链接:D. Ithea Plays With Chtholly 题意: 给你n张纸,在纸上写字(在 1 - c之间)可以写m次数 (,).(主要是交互,让你判断) 题解: 首先,看到m>=n*c/2,我们假设从1位置放入数据,如果放入的数据大于前面已经放入的数据那就往后排小于就替换.这样放的话,每个位置替换最大的次数是C,所以最大的次数总数是n*c.发现正好差了一倍.所以我们可以从两边放入,(小于c/2从1放入,大于c/2从N位置放入)这样每个位置替换的最大次数就是c/2,就正好可以过了.(…
[题目]B. Ithea Plays With Chtholly [题意]交互题,有n格,每次给一个[1,c]的数字,回答填入的位置后再次给数字,要求在m轮内使n格填满且数列不递减.n,m>=2,1<=c<=1000,1<=n*[c/2]<=m<=1000. [算法]贪心 [题解]对于每次的数字x,找到第一个严格大于的位置替换之(或占一个新的空位置). 这样替换的好处是,不改变当前数列已经满足不递减这一事实的前提下,使数列更优. 那么,每个格子最多被替换c次,总轮数为(…
D - Ithea Plays With Chtholly 思路:考虑每个位置最多被替换c/2次 那么折半考虑,如果小于c/2,从左往右替换,大于c/2总右往左替换,只有小于这个数(从左往右)或者大于这个数(从右往左)才会被替换,所以每个位置最多被替换c/2次. 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define mp make_pair #defi…
http://codeforces.com/contest/896/problem/B 题意: 交互题 n张卡片填m个1到c之间的数,1<=n*ceil(c/2)<=m 最后填出一个单调非降序列,输出每次填的位置 <=c/2: 从左开始扫描,遇到空位 或 比原数更优(<原数)就放 >c/2: 从右开始扫描,遇到空位 或 比原数更优(>原数)就放 以<=c/2为例: 空位就放,<原数就覆盖,>=原数就往后扫 这样每个位置最多只会被覆盖c/2次,(c/2…
PROBLEM C/A. Nephren gives a riddle 题 http://codeforces.com/contest/896/problem/A codeforces 896a 897c 解 预第i个串的长度,由于k最大1e18,所以超过1e18的长度直接标记为无限大,不用计算 然后递归搜索即可 #include <iostream> #include <cstring> #include <cstdio> #include <cmath>…
题目链接 交互题. 题意:给你三个数n,m,k.让你完成至多m次互动,每次给你一个q,让你从n个位置选一个位置放这个数,覆盖已经放过的数.让你再m次使得n个位置的数不递减,达到直接退出. 解法:暴力,如果q小于c/2的话,从前往后找,若当前位置没有数或者比q大的话,就直接放再这个位置上,大于c/2的话就从后往前找,若当前位置没有数或者比q小的话就直接放. 如果每个位置都有数的话说明放完了. #include<bits/stdc++.h> #define LL long long #define…
又掉分了0 0. A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Are you going to Scarborough Fair? Parsley, sage, rosemary and thyme. Remember me to one who lives there. He on…
960  asteri 1384     492 00:04 -1 892 01:33     960 PEPElotas 1384     488 00:06 896 00:26       960 MeePwn 1384     492 00:04 892 00:27 -3     960 xvk9 1384     494 00:03 890 00:15       960  Emma194 1384     492 00:04 892 00:27 -1     贼鸡儿难受,这是被出题人搞…
Prelude ODT这个东西真是太好用了,以后写暴力骗分可以用,写在这里mark一下. 题目链接:ヽ(✿゚▽゚)ノ Solution 先把原题解贴在这里:(ノ*・ω・)ノ 简单地说,因为数据是全部随机的,所以一定会有特别多的区间set,就会有很多数字相同,那么我们暴力把相同的数字合并成一个点,合并完之后数组就变得很短,然后对于询问暴力做就可以了. 具体复杂度是什么我也不会证明qwq,所以就把由乃的题解贴上来了qwq,感觉很靠谱的样子. 题解中给的是用STL的set维护缩点后的数组,我感觉不是很…