JZOJ 2020.07.28【NOIP提高组】模拟
2020.07.28【NOIP提高组】模拟
考试时状态不好,暴力不想打
结束前勉勉强强骗点分
已经不想说什么了······
\(T1\) 复制&粘贴2
逆推答案,枚举 \(k\),分类讨论
\(T2\) 愉快的logo设计
暴力计算贡献改为前缀和,把原串复制一片,把目标串分成连续的多块,记录开头结尾,根据前缀和算成功匹配的个数,取最大的即可
\(T3\) Flower 特难的题,见我另一篇,这里不展开叙述
\(T4\) 有趣的有趣的家庭菜园 还可以,见我另一篇,这里不展开叙述
前两题代码:
\(Code1\)
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 2e5 + 5;
int k , m , n , x[N] , y[N] , z[N];
char s[N];
int main()
{
freopen("copypaste.in" , "r" , stdin);
freopen("copypaste.out" , "w" , stdout);
scanf("%d%d%s%d" , &k , &m , s , &n);
for(register int i = 1; i <= n; i++) scanf("%d%d%d" , &x[i] , &y[i] , &z[i]);
int len = strlen(s);
for(register int i = len; i; i--) s[i] = s[i - 1];
for(register int i = 1; i <= k; i++)
{
int ans = i;
for(register int j = n; j; j--)
{
if (z[j] + y[j] - x[j] < ans) ans = ans - (y[j] - x[j]);
else if (ans > z[j]) ans = ans - z[j] + x[j];
}
printf("%c" , s[ans]);
}
}
\(Code2\)
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int N = 5000005;
int k , ans = N , tot = 0 , num[5][N];
char s[N] , str[13][N];
struct node{
int l , r , s;
}fl[N];
int main()
{
freopen("logo.in" , "r" , stdin);
freopen("logo.out" , "w" , stdout);
scanf("%d%s" , &k , s);
int p = 1;
str[0][0] = '0';
for(register int i = 1; i <= k; i++)
{
for(register int j = 1; j <= p; j++) str[i][j - 1] = 'J' , str[i][j + p - 1] = 'O' , str[i][j + p * 2 - 1] = 'I';
for(register int j = 3 * p; j < 4 * p; j++) str[i][j] = str[i - 1][j - 3 * p];
p *= 4;
}
for(register int i = 0; i < p - 1; i++)
{
int j = i;
fl[++tot].l = i;
fl[tot].s = str[k][i] == 'J' ? 1 : (str[k][i] == 'O' ? 2 : 3);
while (str[k][j] == str[k][j + 1]) j++;
fl[tot].r = j;
i = j;
}
p = strlen(s);
for(register int i = p; i <= p * 2 - 1; i++) s[i] = s[i - p];
for(register int i = 0; i <= p * 2 - 1; i++)
{
int x = s[i] == 'J' ? 1 : (s[i] == 'O' ? 2 : 3);
if (i != 0)
{
num[1][i] = num[1][i - 1];
num[2][i] = num[2][i - 1];
num[3][i] = num[3][i - 1];
}
num[x][i]++;
}
for(register int i = 0; i < p; i++)
{
int x = 0;
for(register int j = 1; j <= tot; j++)
x += fl[j].l + i != 0 ? num[fl[j].s][fl[j].r + i] - num[fl[j].s][fl[j].l + i - 1] : num[fl[j].s][fl[j].r + i];
ans = min(ans , p - x);
}
printf("%d" , ans - 1);
}
JZOJ 2020.07.28【NOIP提高组】模拟的更多相关文章
- 计蒜客 NOIP 提高组模拟竞赛第一试 补记
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...
- 2017.07.07【NOIP提高组】模拟赛B组
Summary 因为某种无法抗拒的原因,今天没有打比赛,所以也就没有那种心态.今天的题目有状压DP和二分,这套题不难也不简单,适中,适合我这种渣渣来做.在改题时,发现了许多问题.我连欧拉函数的计算都记 ...
- 10-18 noip提高组模拟赛(codecomb)T1倍增[未填]
T1只想到了找环,> <倍增的思想没有学过,所以看题解看得雨里雾里的(最近真的打算学一下! 题目出的挺好的,觉得noip极有可能出现T1T2T3,所以在此mark 刚开始T1以为是模拟,还 ...
- 10-18 noip提高组模拟赛(codecomb)T2贪心
T2:找min:一直找最小的那个,直到a[i]-x+1小于0,就找次小的,以此类推: 求max,也是一样的,一直到最大的那个,直到次大的比之前最大的大,就找次大的: 这个模拟,可以用上priority ...
- HGOI20180815 (NOIP 提高组模拟赛 day2)
Day 2 rank 11 100+35+30=165 本题是一道数论题,求ax+by=c的正整数对(x,y) x>=0并且y>=0 先说下gcd: 求a,b公约数gcd(a,b) 如gc ...
- 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】
U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...
- 【洛谷】NOIP提高组模拟赛Day1【组合数学】【贪心+背包】【网络流判断是否满流以及流量方案】
U41568 Agent1 题目背景 2018年11月17日,中国香港将会迎来一场XM大战,是世界各地的ENLIGHTENED与RESISTANCE开战的地点,某地 的ENLIGHTENED总部也想派 ...
- noip提高组模拟赛(QBXT)T2
T2count题解 [ 问题描述]: 小 A 是一名热衷于优化各种算法的 OIER,有一天他给了你一个随机生成的 1~n 的排列, 并定 义区间[l,r]的价值为: \[ \huge C_{l,r}= ...
- [LUOGU] NOIP提高组模拟赛Day1
题外话:以Ingress为题材出的比赛好评,绿军好评 T1 考虑枚举第\(i\)个人作为左边必选的一个人,那左边剩余\(i-1\)个人,选法就是\(2^{i-1}\),也就是可以任意选或不选,右侧剩余 ...
- l洛谷 NOIP提高组模拟赛 Day2
传送门 ## T1 区间修改+单点查询.差分树状数组. #include<iostream> #include<cstdio> #include<cstring> ...
随机推荐
- Java开发学习(四十五)----MyBatisPlus查询语句之映射匹配兼容性
1.映射匹配兼容性 我们已经能从表中查询出数据,并将数据封装到模型类中,这整个过程涉及到一张表和一个模型类: 之所以数据能够成功的从表中获取并封装到模型对象中,原因是表的字段列名和模型类的属性名一样. ...
- 【每日一题】【二分mid&贪心】2022年2月8日-NC163 最长上升子序列(一)
1.描述给定一个长度为 n 的数组 arr,求它的最长严格上升子序列的长度.所谓子序列,指一个数组删掉一些数(也可以不删)之后,形成的新数组.例如 [1,5,3,7,3] 数组,其子序列有:[1,3, ...
- 【JVM调优】Day04:总结前三日内容(GC+算法*4+简单回收器*3三色标记,CMS+G1+ZGC,参数个数+OOM+调优参数)
- keepalived 主备使用
keepalived 主备使用 本篇主要介绍一下 keepalived 的基本的 主备使用 1.概述 什么是 keepalived呢,它是一个集群管理中 保证集群高可用的软件,防止单点故障,keepa ...
- python画社交网络图
安装依赖包 pip3 install networkx 在图书馆的检索系统中,关于图书的信息里面有一个是图书相关借阅关系图.跟这个社交网络图是一样的,反映了不同对象间的关联性.利用python画社交网 ...
- 【转载】EXCEL VBA 同时选择多个工作表的方法
如果要用VBA同时选择多个工作表,可以利用数组或设置"Select"方法的参数为"False"来扩展所选择的内容,如下面的一些代码: 1.用工作表名称: ...
- 【运维笔录】局域网实现HTTPS访问,只需Nginx + mkcert
1)下载安装mkcert wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1 ...
- python之路44 jQuery语法应用 与Bootstrap框架
写的略粗糙 咨询 https://www.cnblogs.com/Dominic-Ji/p/10490669.html 作业讲解 页面简陋定时器: <input type="text& ...
- MAC上好用的解压工具
macOS:11.1 想在 macOS 上打开一个压缩文件,有原生的归档实用工具或 BetterZip.Keka.The Unarchiver 等诸多选择.最近,又有国内独立开发者为我们带来了一款新作 ...
- Postman实现UI自动化测试
转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/1db4fa44.html 你好,我是测试蔡坨坨. 看到这篇文章的标题,是不是有小伙伴会感到惊讶呢? Postman不是做接口 ...