Akejyo

暑期集训字符串与搜索

字符串与搜索 C.归并排序 题意:对两个无序且长度任意的序列a和b进行归并,同时要求结果的字典序最小 分析:其实就是每次取剩余序列中字典序更小的那一侧的点。 当$a_i\neq b_j$时,取小的那个; 当$a_i=b_j$时,这两个点分别向后找,把与这两个点值一样的都去掉(一直找到值不一样的两个点),然后输出较小的那个即可。 然而如果直接这样去一个一个找的话,在遇...

暑期集训数学和计算几何

回转数 数学和计算几何 C. 回转数 题意:给定n个点,顺次连接这些点得到折线。m次询问,每次给出一个点,询问折线绕该点的回转数 如果暴力用atan2去算每个每个角度来计算,虽然每次询问的复杂度是O(n),但atan2的计算很耗时间,会TLE。本题需要用光线投影法来做。 首先需要特判该点是否在折线的边/顶点上,如果不在,做一条过该点的直线L(射线也行),遍历折线上的每条边,...

暑期集训 Data Structures

Data Structures A. 猫为什么讨厌狗是有理由的 题意:有$n$个罐子,每个罐子有坚固度$a_i$,同时有$m$个钥匙,每个钥匙型号为$b_i$,可以打开坚固度恰好为$b_i$的罐子。我们可以不断攻击罐子,每次攻击让罐子的坚固度$x$变为$x/d$(向下取整)。$Q$次询问,每次询问$L$到$R$区间,在满足用钥匙开罐子最多的情况下,使用钥匙的最少数。 对于一个钥...