date: 2019-08-28

前言

比赛链接:Codefest 19

A题

思路:

这是一道水题。你对着样例递推打一个表出来,会发现结果三个一组循环。

例如:A = [3, 4, 7, 3, 4, 7, 3, 4, 7, ...]

好了,我们只需要读入第0和第1项,把他们的异或值作为第2项,输出n对3取模的那一项就好。

代码:

#include<bits/stdc++.h>
using namespace std; int T,a[3],n; int main(){ ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0); cin>>T;
while(T--){
cin>>a[0]>>a[1]>>n;
a[2]=a[0]^a[1];
cout<<a[n%3]<<endl;
} return 0;
}

B题

思路:

这道题很容易暴力并且超时,首先用O(N2)**二重循环枚举去掉的区间,之后再**O(NlogN)**从头到尾跑一遍判重,复杂度是**O(N3logN)

但是,我们先枚举从头开始的留下来的区间的长度(保证内部没有重复的),对于每一次枚举,右边的留下的长度都满足单调性,但是应该不可以二分(也可能我不会),相反,直接从右往左跑一遍判重就可以了。复杂度O(N^2logN)(log是因为使用了set来判重)。

代码:

#include<bits/stdc++.h>
using namespace std; int n;
int a[2005];
set<int> s;
int ans,l,r; int main(){ ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0); cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
ans=n;
for(int i=0;i<=n;i++){
if(s.find(a[i])!=s.end()){
break;
}
s.insert(a[i]);
set<int> t;
for(int j=n;j>=1;j--){
if(s.find(a[j])!=s.end()||t.find(a[j])!=t.end()){
ans=min(ans,j-i);
break;
}
t.insert(a[j]);
}
}
cout<<ans<<endl; return 0;
}

C题

思路:

复制很多遍样例就可以AC(真的)。

你把大的矩阵分割成很多4行4列的矩阵,之后你就可以把样例1的Output填上去。从左往右,从上往下第i个(从0开始数)矩阵的元素要加上16*i

代码:

此处我没有复制样例直接使用如下矩阵作为复制母版:

0  1  2  3
4 5 6 7
8 9 10 11
12 13 14 15

其实他们的异或值也是相等的。

#include<bits/stdc++.h>
using namespace std; int n;
int cur;
int g[1005][1005]; int main(){ ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0); cin>>n;
for(int i=0;i<n;i+=4){
for(int j=0;j<n;j+=4){
for(int k=0;k<4;k++){
for(int l=0;l<4;l++){
g[i+k][j+l]=cur++;
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<g[i][j]<<' ';
}
cout<<endl;
} return 0;
}

结束

从D开始我都不会做,所以就酱~

Codefest19受虐记的更多相关文章

  1. 2019CSP-J/S受虐记

    emmmm...... 今年noip很波折,我从7月开始准备 但CCF居然停了noip,这搞得我很迷茫,CCF你在干什么! 然后又恢复了,这有搞得我很懵逼?(还改名叫csp了) 就换了个名,CCF你搞 ...

  2. CSP J/S 2019受虐记

    一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...

  3. 本以为自己 MySQL 够牛逼了,直到亲自去阿里受虐了一次!

    前言 众所周知,简历上“了解=听过名字:熟悉=知道是啥:熟练=用过:精通=做过东西”. 相信大家对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构.索引作为MySQ ...

  4. 听说你们要开始学C了

    同学们好: 先自我介绍一下,我是你们的助教吴喆(厚颜无耻地要求大家叫我吉吉老师:-D),本科学的电子,所以陆陆续续接触了不少C/C++的工作,曾经被编码折磨得死去活来,如今却对其念念不舍,颇有点“斯德 ...

  5. 【转载】ACM总结

    转自亲学长的总结 声明:本文是写给弱校ACM新手的一点总结,受自身水平和眼界所限,难免会有一些个人主观色彩,希望大牛指正 感谢@Wackysoft .@哇晴天 . @ 一切皆有可能1 的指教,现根据这 ...

  6. ACM感悟

    声明:本文是写给弱校ACM新手的一点总结,受自身水平和眼界所限,难免会有一些个人主观色彩,希望大牛指正 感谢@Wackysoft .@哇晴天 . @ 一切皆有可能1 的指教,现根据这些建议,文章已进行 ...

  7. 如何成为一位优秀的创业CEO

    英文原文:How to Be Startup CEO 编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 ...

  8. ACMer(转)

    我所了解的ACMer主要分为以下几类: A类:天才型(这个在咱们学校基本不存在),所以就不用考虑了-_- ! B类:刷题很快,题数是最多的几个之一,但有一个习惯就是喜欢看题解,思考问题一想不出来了就想 ...

  9. 【转】如何成为一位优秀的创业CEO

    编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 CEO 可以说是世界上最有挑战性的事情之一.你得让客户 ...

随机推荐

  1. 2- 设置断点修改Request

    以下是借鉴别人的知识分享.我在这里转载,如有冒犯,还请告知. 如何设置断点修改Request呢? fiddler最强大的功能就是可以设置断点了.设置好之后,你可以修改HttpRequest的任何信息, ...

  2. leetcode -- 最长回文子串

    题目: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意: ...

  3. Linux搭建Java环境(JDK+Tomcat+MySQL)

    目录 一.项目环境: 二.安装JDK1.8 三.安装Tomcat8.5 四.安装MySQL数据库 五.配置JAVA项目 一.项目环境: 开发环境 生产环境 测试环境 硬件环境: web服务器:cpu: ...

  4. C#中关于值类型和引用类型的区别

    小声哔哔 一直以来对于值类型与引用类型之间的区别都不是特别清晰,直到踩了坑.... 正好最新闲暇,便想着梳理梳理这一两年来遇到的奇葩问题和解决方案,顺便就把它给拎出来记一下,免得以后再摔跤 值类型与引 ...

  5. JS基础-全局内置对象

    对象 JS中有那些内置对象 数据封装类对象 String.Array.Object.Boolean.Number 其他对象 Math.Date.RegExp.Error.Function.Argume ...

  6. Kubernetes 应用部署实战

    Kubernetes 应用部署实战 2018-08-08 19:44:56 wuxiangping2017 阅读数 3084  收藏 更多 分类专栏: linux运维与架构师   简介 伙计们,请搬好 ...

  7. pipelineDB学习笔记-2. Stream (流)

    一.流的定义: 所谓的“流”(stream)在pipelineDB中是指那些被允许的数据库客服端推送到 Continuous View(连续视图) 的时序化数据的一种“抽象”.流中的每一个raw(数据 ...

  8. Vue ---- 组价 组件化 子传父 父传子

    目录 补充js的for循环: 组件 1.组件的分类: 2.组件的特点 3.创建局部组件 4.全局组件 二.组件化 一.组件传参父传子 二.组件传参:子传父 补充js的for循环: // for in遍 ...

  9. 计算密集型和 io 密集型项目的使用场景分析和代码演示

    from threading import Thread from multiprocessing import Process import time 计算密集型 def work1(): res= ...

  10. mysql过期修改

    1.打开cmd 2.链接数据库如 mysql -h localhost -P 3306 -u root -proot 3.修改密码 mysql < set password for 用户名@lo ...