FJOI2017前做题记录

2017-04-15

[ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率。(注意特判询问有一个区间的左端点为1的情况,因为题目要求,所以这种情况要特殊考虑)考虑一个修改操作对一个询问的影响,分为以下几类:

(1) 区间不包含任何一个点,这种情况对答案没有影响。

(2) 区间只包含其中一个点,这种情况有\(1/len\)的概率影响答案

(3) 区间同时包含两个点,这种情况有\(2/len\)的概率影响答案。

这个时候我们把线段的左右端点看做两维,操作时间看做第三维,然后这个时候原问题就变成了三维偏序问题。用树套树或cdq分治+线段树来解决即可。(我写的是cdq分治套线段树)。

2017-04-16

AtCoder Grand Contest 013 A B C 一场非常失败的\(AGC\),整场就过了第一题(还WA了三发)。。。

A题问一个数组最少能被划分成多少个权值单调不增或不减的区间。刚开始懒得写贪心,然后就找性质,发现只和波峰和波谷的数量有关。然后写一发样例就不过了。(相邻的波峰和波谷选一个就可以了)然后强行判过样例交上去WA。很着急啊,然后发现有可能波峰或波谷是一段平的。于是就直接unique掉然后交。又WA。发现unique我打的是unique(a+1,a+n)。。。感觉整个人傻逼了。改完a。

B题题目看很久+想复杂了。找一个路径使得和路径的头尾相连的点都在路径中。题目叫哈密顿路径然后我就真的往那边去想了QAQ,结果就掉坑了(果然题目里的算法都不能信)。。。正解是直接用deque去扩展,扩展到不能扩展位置。(其实这个思路有在我脑袋里闪过,结果不知道怎么搞deque就弃了)

C题思维题啊。在刘汝佳的白书上有这道题,就是蚂蚁撞来撞去那道。我的思维卡在如何找到某一个数的位置上然后未果。看了题解还是不懂。最后强行看别人Code去理解。考虑以下几个性质(这几个性质白书上也有):

  1. 两个蚂蚁相撞以后会头可以看做他们继续前进,然后交换他们\(id\) 。
  2. 任何时候所有蚂蚁的相对位置不会发生改变。
  3. 所有蚂蚁的最终位置可以直接加上/减去t来确定。

由2 3 可得,最终蚂蚁的位置是通过对所有蚂蚁的终态排序得到的。也就是说我们只要知道第一个蚂蚁的位置就知道了所有其他蚂蚁的位置。

如何求得第一个蚂蚁的位置是本题的关键(也是我考场上不会做的关键QAQ)。一个思路是考虑在什么时候整个序列的绝对位置会发生变化。我们发现,这个时候就是有一个蚂蚁跨过0这个位置的时候。如果这个蚂蚁跨过0以后顺时针移动,那么相当于整个排名右移一位,并且把最后一位放到了第一位。逆时针就相反。所以我们就记录一下绝对排名的偏移量,最后输出时第一个蚂蚁的位置就是这个偏移量。

2017-04-17

[Sdoi2017]d1t3 矩阵快速幂(性质:循环矩阵)

2017-04-18

[Sdoi2017]d1t1 莫比乌斯反演

2017-04-19

【UER#6】抓捕罪犯 2-SAT

2017-04-20

[Sdoi2017]d2t1 分数规划+费用流

[Ynoi2017]d1t1 莫队+bitset

2017-04-21

3489: A simple rmq problem 可持久化树套树

[Ynoi2017]d1t2 树链剖分套线段树、位运算相关、贪心

2409: 地下车会 上下界的最大流

3876: [Ahoi2014]支线剧情 上下界费用流

2521: [Shoi2010]最小生成树 最小生成树->联通关系->最小割->最大流

2017-04-22

4570: [Scoi2016]妖怪 凸包。注意点:不仅仅是最优斜率要统计答案,对于凸包上的边也要统计答案。

4817: [Sdoi2017]树点涂色 lct+线段树。注意:lct上的父亲并不是原树上的父亲!

FJOI2017前做题记录的更多相关文章

  1. NOIP前做题记录

    鉴于某些原因(主要是懒)就不一题一题写了,代码直接去\(OJ\)上看吧 CodeChef Making Change 传送门 完全没看懂题解在讲什么(一定是因为题解公式打崩的原因才不是曲明英语太差呢- ...

  2. Sam做题记录

    Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...

  3. UOJ 做题记录

    UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...

  4. project euler做题记录

    ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...

  5. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  6. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  7. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  8. BJOI做题记录

    BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...

  9. [日记&做题记录]-Noip2016提高组复赛 倒数十天

    写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...

随机推荐

  1. 从零开始,SpreadJS新人学习笔记【第5周】

    复制粘贴.单元格格式和单元格类型 本周,让我们一起来学习SpreadJS 的复制粘贴.单元格格式和单元格类型,希望我的学习笔记能够帮助你们,从零开始学习 SpreadJS,并逐步精通. 在此前的学习笔 ...

  2. NOIP2017 D2T3 题解

    题面 这种数据范围不是乱搞dfs就是乱搞状压DP 首先应该通过任一方式求出a和b的值: 任意一条抛物线只用两头猪就可以确定,所以我们N^2枚举,并把在这两头猪的抛物线上的猪都存进状态state[i][ ...

  3. WINDOWS7 系统中建立文件夹映射

    如何在WIN7中建立文件夹映射,还有以及MKLINK的具体使用方法: 步骤如下: 1.以映射d盘1文件夹为例: 2.按win+r,输入cmd,点击确定: 3.提示符后输入mklink /J " ...

  4. CSP前模板复习

    Tarjan 求强连通分量 展开查看 #include #include #include using namespace std; const int N = 1e4 + 1e3; int n, m ...

  5. 在set中放入自定义类型

    这件事情的起因是在学习背包问题时突然想到了一种算法,分析了一下应该是n^2logn复杂度的,当然比dp慢.但是既然想到了就实现了下: #include<bits/stdc++.h> usi ...

  6. ABCD 谁是小偷

    题目: 警察局抓了a,b,c,d 4名偷窃嫌疑犯,其中只有一人是小偷.审问中,a说:“我不是小偷.”b说:“c是小偷.”c说:“小偷肯定是d.”d说:“c在胡说.” 现在已经知道这四人中有三人说的是真 ...

  7. 01 Mysql数据库初识

    一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...

  8. 转pip更新后ImportError: cannot import name ‘main'

    更新pip后,报出:ImportError: cannot import name ‘main' 根据https://www.cnblogs.com/dylan9/p/8981155.html的教程进 ...

  9. Hadoop伪分布式重启正确流程

    既然是伪分布式,那就不可避免的设计到重启Hadoop服务或者重启Hadoop服务器的情况,正确的停止和重启是很有必要的. 首先是Hadoop服务的停止,使用 ./sbin/stop-all.sh脚本来 ...

  10. npm install 报错,提示`gyp ERR! stack Error: EACCES: permission denied` 解决方法

    m install 报错,提示gyp ERR! stack Error: EACCES: permission denied 猜测可能是因为没有权限读写,ls -la看下文件权限设置情况 [root@ ...