UOJ Test Round #2
昨天晚上打的这个比赛,简直一颗赛艇啊……
感觉发挥的并不好。比赛的时候比较紧张,最后一题还脑残写了个离散化结果爆零了,哎我怎么这么逗逼……
讲讲比赛经过吧。
比赛之前逗逼地以为是8:00开始,然后淡定了5min就被告知是7:00……哎我怎么这么逗逼把开始时间都记错了2333……
头比赛的时候在写xor和路径,一看还剩下1min+,马上就扔了开始数倒计时。
7:00准时发题,拿到题之后直接开读。
A题目排列顺序,哎好像不太难的样子,不管了读完题再说。
B题目交流通道,卧槽这什么图论还要计数的玩意儿,不会不会。
C题目难度提升,哎卧槽好像是个数据结构题,算了去写A题好了……
读题的时候对面lrd和dbw在那儿讨论上下界网络流,有点吵……不过很快就停了,lrd回来开始读题。
又读了一遍A题,是要求构造一个LIS的DP数组恰好为给定输入的方案,考虑到LIS问题可以用RMQ优化,可以在线读入然后动态维护,鉴于这是个带插入的RMQ,用平衡树维护就好了。一开始写的是Treap,元素先用double标号最后再一遍离散化出解,写着写着发现不对劲,一些情况我不会分类讨论(太紧张了……),算了不用double标号了,直接动态插入最后查询一遍名次就行了,然后一怒之下把Treap删了再写splay……(毕竟查询名次可以直接splay一下然后返回左子树大小嘛……感觉这点比较方便)写了100+行,然后开始调,调了10min感觉不对劲,既然每次直接插入到最后一个比它小的后面,换句话说f值相同的应该降序排列,f值不同的肯定是要升序了,卧槽我是SB吗我干嘛要用splay动态维护啊直接一发std::sort()不就完了嘛……一怒之下把splay的代码扔到一边去了,然后写了一个24行的std::sort(),哎1h+才把第一题写完,我是傻叉……
交上去之后过了样例,感觉好虚啊就写了一发数据生成器和spj,结果spj写挂了调了半天,调出来了比赛都过了一半多了……我菜爆了= =
中间lrd写完了三道题的暴力(没错,就是无脑暴搜……)说他70分到手了,因缺斯汀……
然后开始打暴力,反正暴力也很无脑,lrd直接告诉我第二题暴搜一下然后Floyd判断就有30分了,然而我写完了又调了半天……最后一题写了个暴搜+平衡树维护中位数,然后我脑残以为离散化不会影响结果,就离散化了一发(居然能过样例……简直坑爹有没有……),感觉10分到手了(此时已经只剩0.5h+了……),然后开始去想T2,想了几分钟觉得自己肯定不会,就去想T3,想到9:35没啥进展,然后一看数据范围感觉互不相同的离散化成排列之后肯定有规律,然后就开始用暴搜搜规律,还真特么搜出来了……
(最后两行是一晚上没关机搜出来的……)
这规律多明显啊,每项显然都是可以直接算的,然后码码码加上n<=13的暴力交上去了。写的时候lrd告诉我离散化有反例,想了想好像真是这样,啊感觉好虚要爆零了(毕竟有捆绑测试……)……
晚上睡觉有点一颗赛艇,想着最后一题能不能骗到分,然而很快就睡着了……
早上看见成绩了,woc最后一题还是爆零了……只拿到了rank56,不过好歹涨了点Rating,算是小小的安慰吧……
lrd拿了rank19,我菜爆了……
贴一下第一题的代码(splay的那个傻逼做法就不贴了……):
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=;
struct A{
int d,pos;
bool operator<(const A &a)const{
if(d!=a.d)return d<a.d;
return pos>a.pos;
}
}a[maxn];
int n,seq[maxn];
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&a[i].d);
a[i].pos=i;
}
sort(a+,a+n+);
for(int i=;i<=n;i++)seq[a[i].pos]=i;
for(int i=;i<=n;i++)printf("%d ",seq[i]);
return ;
}
扔一发官方题解赶紧跑……
反思:
这次比赛的时候过于紧张,A题傻逼做法浪费了1h,B题的60分也没有搞出来,C题写了个暴搜还爆零了……
反映出自己还是太弱,水平还需要提高。
下一站,BestCoder Round #91。加油。
(话说下次又是ACM赛制了……Bless all……)
(吐槽一发,这特么简直就是遥遥无期啊……)
UOJ Test Round #2的更多相关文章
- UOJ Easy Round#7
UOJ Easy Round#7 传送门:http://uoj.ac/contest/35 题解:http://matthew99.blog.uoj.ac/blog/2085 #1 题意: 在一个(2 ...
- UOJ Test Round 1
第一题: 题目大意: 给出N个字符串,字符串的前面部分都是字母且都是一样的,后面部分是数字,按照后面的数字排序.N<=10000 解题过程: 1.第一题是真良心,一开始的做法是把后面的数字分离出 ...
- 【UOJ Easy Round #1】
数论/Trie/并查集 猜数 这题我是这样分析的…… $a*b=g*l=n=k^2 \ and \ (g|a,g|b) \Rightarrow (g*a')*(g*b' )=g*l=k^2 \\ \R ...
- UOJ Easy Round #5
Preface 本着刷遍(只刷一遍)各大OJ的原则我找到了一场UOJ的比赛 无奈UOJ一般的比赛难度太大,我就精选了UER中最简单的一场打了一下,就当是CSP前的练习吧 A. [UER #5]万圣节的 ...
- 【UOJ Easy Round #2】
然而UER我也照样跪…… 第一题 忘了取模sad || 操作符将整个区间分成了一些段,每个手机只会执行其中某一段,执行次数为这一段中&&的个数?+1? ans=ans*num[i]+1 ...
- UOJ Rounds
UOJ Test Round #1 T1:数字比大小的本质是按(长度,字典序)比大小. T2:首先发现单调性,二分答案,用堆模拟,$O(n\log^2 n)$. 第二个log已经没有什么可优化的了,但 ...
- 51Nod 算法马拉松21(迎新年)
这次打算法马拉松是在星期五的晚上,发挥还算正常(废话,剩下的题都不会= =). 讲讲比赛经过吧. 8:00准时发题,拿到之后第一时间开始读. A配对,看上去像是二分图最大权匹配,一看范围吓傻了,先跳过 ...
- NOI前训练日记
向别人学习一波,记点流水帐.17.5.29开坑. 5.29 早晨看了道据说是树状数组优化DP的题(hdu5542),然后脑补了一个复杂度500^3的meet in the middle.然后死T... ...
- 半小时写完替罪羊重构点分树做动态动态点分治之紫荆花之恋的wyy贴心指导
刷题训练 初学者 有一定语言基础,但是不了解算法竞赛,水平在联赛一等奖以下的. 参考书:<算法竞赛入门经典--刘汝佳>,<算法竞赛入门经典训练指南--刘汝佳> 题库:洛谷(历年 ...
随机推荐
- fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件
当我们在父页面使用 fancybox 弹出窗口后,如果想自己手动关闭,则可以 function Cancel() { parent.$.fancybox.close(); } 如果关闭没有反应,最好看 ...
- OK - A byte of python - 读书笔记
看这本书的目的:再熟悉基本概念. 大部分都是知道,但是需要 明确 出来的 概念. - 欢迎吐槽错误,非常感谢. <A byte of python> - THIS 1. 组织行 - 形式: ...
- Java [Leetcode 66]Plus One
题目描述: Given a non-negative number represented as an array of digits, plus one to the number. The dig ...
- ffmepg 指定RTSP网络连接模式UDP还是TCP
AVFormatContext *formatCtx = NULL; formatCtx = avformat_alloc_context(); AVDictionary* options = NUL ...
- mysql的MMM高可用方案
1 MMM高可用mysql方案 1.1 方案简介 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复 ...
- GreenDao官方文档翻译(上)
笔记摘要: 上一篇博客简单介绍了SQLite和GreenDao的比较,后来说要详细介绍下GreenDao的使用,这里就贴出本人自己根据官网的文档进行翻译的文章,这里将所有的文档分成上下两部分翻译,只为 ...
- Android-判断当前网络是否可用
1.声明权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 2. ...
- logback.xml_appender配置
logback<appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. < ...
- java web 学习十三(使用session防止表单重复提交)
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- 编写一个循环将list容器的元素逆序输出
<c++ primer>P270,习题9.9 实现代码如下: #include<iostream> #include<list> using namespace s ...