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


CF607E Cross Sum

计算几何屎题

直接二分一下,算出每条线的位置然后算

注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px

flag:计几题都不写了

CF611G New Year and Cake

真香

双指针扫可行的区间然后维护。

一个三角形的面积可以用\(|AB+BC+CA|\)算,其中\(A,B,C\)是向量\(OA,OB,OC\),\(O\)在三角形外

然后推出的式子可以很好地化简然后维护(为啥我写这么慢啊

CF504E

巨大常数卡过去了 舒服

二分+哈希,然后哈希可以\(O(巨大常数)\)算,要长链剖分算一个\(x\)的\(k\)级祖先

https://codeforc.es/contest/504/submission/63411989

CF506C

二分,然后倒着做,变成一开始有\(n\)个高度为\(mid\)的,每个时刻开始高度全部减\(a_i\),然后选择\(k\)个高度加\(p\)。

考虑限制是啥,正着做的时候一开始是\(h_i\),中间会出现一些\(<0\)的时候很不爽,一开始先给\(h_i\)加上一个数就很爽了,条件就是高度始终\(\ge 0\),倒着做的话另一个条件就是最后的高度满足\(\ge h_i\)

对每个东西维护:如果不再操作,最后的值\(fi\)。如果有\(fi<0\),肯定先做\(fi<0\),有多个先做更早会\(<0\)的

否则随便做一个\(fi_i<h_i\)的,然后可以check了

CF704B

对连通块dp。

AGC028C

答案一定是所有\(A,B\)中选\(n\)个,先拿出所有的升序排序,然后拿出最小的\(n\)个,看是否能取到,如果不能再分情况讨论

(懒得写了

CF521D

求个\(\ln\)后三操作就是加,1,2操作是凸的,可以用一个堆维护

CF536D

每个点到\(s,t\)最短距离后转化为一个坐标,在坐标轴上面dp,前缀和优化

CF547D

这提姆不就是704d吗= =

CF571D

先对每个询问求出最后一次清空的时间就可以忽略清空操作了

搞出重构树,直接在上面操作

CF576D

bitset优化01矩乘

毒瘤= =zbl

CF582D

这题先咕了

CF587D

屎题

抠出每种颜色,显然只能是很多链或者环,分情况讨论亿下,长度为奇数的链还要二分 2sat

CF643D

搞一堆set大模拟,修改点时只用修改父亲

CF521E

加边加到图不是仙人掌时可以找到端点,然后输出方案

CF576E

线段树分治 可以操作到叶子节点之后再放之后的操作

CF582E

设\(f_{i,j}\)表示树上点i,对于所有变量取值的答案压到\(j\),方案数

转移用fwt

CF585E

直接莫反,不算\(1\)的话每对集合和数会算\(-1\)次

CF538H

显然图是个二分图,染色之后同一个连通块同一个颜色缩成一个区间

然后问题就是有很多对区间,取两个位置\(p1,p2\)对于每一对区间正好分别在一个区间内

然后直接枚举左端点,对一对区间可行的右端点还是个区间,线段树维护即可

CF575I

鸽子好神仙啊

先要维护三个东西:

以一个点为右上角的矩形

以一个点向左下的直线和向下的直线围成的图形(直角三角形)

以一个点向右下的直线和向下的直线围成的图形(直角三角形)

然后4个操作都可以用这三个东西容斥出来

CF626G

设\(t\)表示题面中\(l\),\(s\)表示你的方案中每个箱子放的数量。有限制\(\sum s\leq T\)

那么你最终收益期望是\(\sum p_i-\sum \frac{t_ip_i}{t_i+s_i}\)

那么要最小化后面的东西,也就是最大化\(\frac{t_ip_i}{t_i+s_i}\)

一组询问可以用堆维护,然后修改一个\(t_i\)并不会影响其他选取方案的相对顺序

可以证明,给一个\(t_i\)修改\(1\)过后的\(s\)最多只会有一处增加和一处减少

先看给\(t_i\)加1,那么选这个箱子整体会变差,所以策略是可能会拿走一个给别的箱子

如果拿走两个是不可能的,因为原来选了这个箱子收益是\(\frac{t_ip_i}{t_i+s_i}\),后来变成了\(\frac{(t_i+1)p_i}{t_i+s_i+1}\),\(s_i\)减去\(1\)后变成\(\frac{(t_i+1)p_i}{t_i+s_i}\),严格大于原来的收益,既然原来的选了这个肯定不会被换掉

给\(t_i\)减1类似,策略是如果超了先减1然后选这个箱子会变好,可能会从另一个箱子拿一个过来,不过类似上面可证明不会拿两个过来

然后用一个堆维护“插入箱子”和“从箱子拿出”的最大值就行了

退役III次后做题记录(扯淡)的更多相关文章

  1. 退役IV次后做题记录

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

  2. 退役II次后做题记录

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

  3. Sam做题记录

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

  4. FJOI2017前做题记录

    FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...

  5. UOJ 做题记录

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

  6. project euler做题记录

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

  7. BJOI做题记录

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

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

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

  9. noip做题记录+挑战一句话题解?

    因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...

随机推荐

  1. 【java】单实例下的 流水号【21位】

    单实例环境,不是分布式 需要流水号 /** * 流水号生成器 * * 年+天号+毫秒+随机数 * 2019+134+480+11位随机数 * 4+3+3+11 = 21位 * * * @author ...

  2. kafka集群安全化之启用kerberos与acl

    一.背景 在我们部署完kafka之后,虽然我们已经可以“肆意”的用kafka了,但是在一个大公司的实际生产环境中,kafka集群往往十分庞大,每个使用者都应该只关心自己所负责的Topic,并且对其他人 ...

  3. scratch学习研究心得_逐步更新

    2019-10-30: Scratch对对象a克隆,不能选择克隆自己,这样可能下次一下子同时产生两个克隆体,要设置克隆a scratch3.0采用全新html5技术,图片和其他对象放大缩小,效果几乎不 ...

  4. Angular复习笔记7-路由(下)

    Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使 ...

  5. j.u.c: Java并发包的5大块

    //TODO Executors: ExecutorService executor = Executors.newFixedThreadPool(10);... newForkJoinPool(). ...

  6. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  7. vue中进行窗口变化的监听

    今天vue项目中用到的元素的宽度依赖与窗口的宽度,所以在进行宽度设置的时候涉及到窗口的变化,因为元素的宽度要随着窗口变化 分成几个步骤来实现这一过程 1.首先元素的宽度依赖与窗口的宽度,就需要有接受窗 ...

  8. Java 数组(三)二维数组

    如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组.二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表所在的列. 一.二维数组的创建 1.先声明, ...

  9. rabbitmq:配置rabbitmq-management插件

    rabbitmq提供了一个图形的管理界面,用于管理.监控rabbitmq的运行情况,它是以插件的形式提供的,如果要启用需要启用插件 一.启用插件 rabbitmq-plugins enable rab ...

  10. PHP的SPL标准库

    1,简介 SPL,全称 Standard PHP Library 中文是 标准PHP类库.是php内置的一些拓展类和拓展接口,其内容包含数据结构.迭代器.接口.异常.SPL函数,文件处理等内容.SPL ...