随笔分类 - NOI
摘要:7月16日来雅礼洋湖报到后,自己没怎么搞颓,打了一些模板保持一下状态,考day1的前一天晚上做了一下三维偏序的模板题,居然因为一个傻B错误调了好久,直到周围的人都回寝只剩我一个人了才A掉。其实我退役也是与一直以来都有的一个毛病有关系的,那就是在写代码上太慢了,经常把一个简单的问题写的很复杂,而且还写
阅读全文
摘要:前面部分比较简单,就是无脑化式子,简单点讲好了。 首先肯定在$(x,y)=1$时才考虑这个分数,要求纯循环的话,不妨猜猜结论,就是y必须和K互质。所以答案是$\sum_{i=1}^n \sum_{j=1}^m [(i,j)=1] [(j,k)=1]$。 然后用 $[(i,j)=1]=\sum_{d|
阅读全文
摘要:刚了几个小时啊,这tm要是noi我怕不是直接滚粗了。我判答案为1的情况试了几种做法,最后终于想到了一个靠谱的做法,然后细节巨多,调了好久,刚拿到97分时代码有6.2KB了,后来发现有些东西好像没啥用就删到了5KB了,然后发现hack数据T掉了,就写了个哈希表换掉了map才过...真累 对了,我最开始
阅读全文
摘要:"题目链接" $S=k$可以拆成$S\le k$减去$S\le k 1$。用$(i,j)$表示第i行第j列。 设$g(i,j)$表示前i行前j列都安全其他未知满足条件的概率,$h(i,j)$表示前i行前j列是安全的但是$(i+1,j)$是危险的,其他未知,满足条件的概率。当$i j k$时两个数组的
阅读全文
摘要:"题目链接" 很容易想到p和q"r相似"就等价于在后缀数组中q与p之间的height值$\ge r$,也就是说$ include include include include include include include include define P puts("lala") define
阅读全文
摘要:题目链接 昨天晚上yy出了一个做法后,感觉...好难打啊...,于是先回去休息。今天来打时,还是感觉细节好多,于是就打了两个小时。打完过了编译后,居然过了样例,直接交,尼玛居然过了???......还好自己没有犯什么错误,不然就调死了... 进入正题 询问(x,y)时,就相当于在fail树中问x这个
阅读全文
摘要:题目链接 把边按a从小到大排序,枚举一条边,相当于只考虑<=ai的边,根据b做一个最小生成树再算答案。 用lct维护这个最小生成树,要加入的这条边若会形成环,则找到x到y路径上最大的b,与当前边比较看加还是不加(加就把那条边删掉)。 维护边权可以把边看做一个点,点权为边权,并与原边的两个端点连边。
阅读全文
摘要:原题链接 发现进位或退位时,会有连续的一段1变成0或连续的0变成1,然后在后面产生一个进位或退位。于是我们只需要一颗线段树支持区间赋值,查询左边第一个1/0,以及单点查询值。可以把a按二进制拆开去修改,复杂度是O(nlognloga)的,这样好像过不去。 于是我的做法是在线段树的每个叶子节点存30位
阅读全文
摘要:原题链接 发现 k<=50 ,在插入和删除时最多会影响不超过 k2 个串,用链表实现插入和删除,然后只需用哈希表维护每个长度不超过k的串的出现次数,哈希的话可以先用比较大的范围的值处理冲突,再映射到1e8的桶里统计。 考虑复杂度。 首先在删除时由于保证了 c<=1000 所以这部分复杂度是O(ck2
阅读全文

浙公网安备 33010602011771号