ioi

WSR AK IOI

僤鯓⒐⒋嵵緔 提交于 2019-12-03 12:00:15
WSR连续10年AK IOI,去年他觉得一直AK没意思,就不去考了。今年IOI赛场上他再次出现,25min强势AK!!!赛后采访问他为什么归来,他说没有AK IOI吊打菜鸡的时间太难打发了!! 来源: https://www.cnblogs.com/SKTT1Faker/p/11795294.html

LOJ#2764. 「JOI 2013 Final」JOIOI 塔

匿名 (未验证) 提交于 2019-12-02 23:56:01
https://loj.ac/problem/2764 真的想不到二分...不看tag的话... 考虑二分答案转化为判定问题,那么问题就变成了能不能组合出x个JOI/IOI,考虑贪心判定,倒着做,统计I的个数cnt,已组OI的个数tot,以及JOI/IOI个数ans。对于J显然直接找一个OI组成答案。对于O显然直接找I。对于I需要贪心考虑,假设目前的cnt+tot+ans>=x那么就组答案,否则做OI里面的那个I,让cnt++。(贪心考虑只需要造x个OI,造多了会浪费) #include <bits/stdc++.h> using namespace std; #define ll long long const int N = 1000010; int n; char s[N]; bool check(int x) { int ans = 0, tot = 0, cnt = 0; for(int i = n; i; --i) { if(x == ans) return 1; if(s[i] == 'J') { if(tot) --tot, ++ans; continue; } if(s[i] == 'O') { if(cnt) --cnt, ++tot; continue; } if(s[i] == 'I') { if(ans + tot + cnt < x) cnt++;

I AK IOI!!!

旧街凉风 提交于 2019-12-02 00:27:43
I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!! I AK IOI!!!

LOJ#2764. 「JOI 2013 Final」JOIOI 塔

六月ゝ 毕业季﹏ 提交于 2019-11-28 23:14:10
题目地址 https://loj.ac/problem/2764 题解 真的想不到二分...不看tag的话... 考虑二分答案转化为判定问题,那么问题就变成了能不能组合出x个JOI/IOI,考虑贪心判定,倒着做,统计I的个数cnt,已组OI的个数tot,以及JOI/IOI个数ans。对于J显然直接找一个OI组成答案。对于O显然直接找I。对于I需要贪心考虑,假设目前的cnt+tot+ans>=x那么就组答案,否则做OI里面的那个I,让cnt++。(贪心考虑只需要造x个OI,造多了会浪费) #include <bits/stdc++.h> using namespace std; #define ll long long const int N = 1000010; int n; char s[N]; bool check(int x) { int ans = 0, tot = 0, cnt = 0; for(int i = n; i; --i) { if(x == ans) return 1; if(s[i] == 'J') { if(tot) --tot, ++ans; continue; } if(s[i] == 'O') { if(cnt) --cnt, ++tot; continue; } if(s[i] == 'I') { if(ans + tot + cnt < x)