【集训】练习题 uria】的更多相关文章

Description 求有多少组正整数对 \((a, b)\) 满足 \(a + b ≤ n\) \(a + b | ab\) \(n ≤ 10^14\) Solution 这题有点绕啊 设 \(gcd(a,b)=d\),\(a=a'd\),\(b=b'd\) 对于第二个式子:\((a'+b')d | a'b'd^2\),所以 \(a'+b' | a'b'd\) 然后因为已经提出来了一个 \(d\) , 所以\(gcd(a',b')=1\) 即 \(a'\bot b'\) 所以 \(gcd(a…
题解: 这两道题加上区间取min max应该算线段树几道比较不寻常的题目 其实也是挺好理解的 对于区间/d 显然在log次后就会等于0 而我们注意到如果区间中数都相等那么就可以一起除 也就是说每个区间需要log次除法能相等 而每一次加权操作会造成log个区间不相等 那么时间复杂度就是nlog^2的 并且应该实现出来常数会比较小 区间开根是同理的 区间取min有所不同,见 代码:…
题目链接: 解法: 先建n颗平衡树,合并的时候将a中最右的结点翻转到根节点,b中最左的结点翻转到根节点,对合并后的根节点进行标记. #include <bits/stdc++.h> using namespace std; #define ls(p) p << 1 #define rs(p) p << 1 | 1 ; int n, m, cnt; int rt[M]; struct node{ ], val, cnt, sz, lazy; }spl[M]; bool i…
题意 给出n个长度为20的二进制数和数字k,每次询问给出一个二进制数,问从n个数中挑k个数(不能重复)的按位或能包含询问的组合有多少个.数字均小于等于5E5,1s. 思考 强行算出2^20个答案,再O(1)询问. 可知按位或的FWT能够将两个数组融合成新的数组.假设Fk表示挑出k个数字能组成的所有可能的桶,A为原始的桶数组,可知Fk[i]=(Fk-1 或运算FWT A)[i]-(k-1)Fk-1[i],后面减法的目的是减去数被重复选择的部分. 再观察FWT其实是线性变换,因此Fk[i]可以预先乘…
高考集训讲课(To 高一) 主要是怕下午讲着讲着把自己讲懵了,有一定的迷糊概率 经过机房的讨论,一致认为插头\(DP\)实用性不大,所以这次不讲了,先把重要的讲一讲. 顺便吐槽一下,凭什么另外几个人都是几个相互联系的知识点,到我这跨越这么大... 反正都是\(trick\)直接上题,没有知识点讲 状压\(DP\) \(P7519\)滚榜 这是上次想讲的题 费用提前\(+\)状压\(DP\) 我们最后只求情况数,那么中间每个队伍的通过题数是无需关注的 从最开始考虑,我们暴力枚举每种情况,如何判断这…
这是一个绝妙的比喻,如果青岛二中的台阶上每级站一只平度一中的猫,差不多站满了吧 自己的理解 [2016-12-31] [主席树] http://www.cnblogs.com/candy99/p/6160704.html 就是可持久化线段树,对于每个版本建立一颗线段树,可以查询历史版本 为了节省内存和时间直接使用历史版本的形态,把修改的地方沿途新开节点,其他地方继承历史版本 主席树就是前缀和套线段树,每个前缀和建立一颗线段树,继承上一个历史版本,只是单点修改 区间修改也一样,所有区间修改到的点都…
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r /etc/skel/ /home/tuser1 [root@www ~]# chmod -R 600 /home/tuser1/ 2.编辑/etc/group文件,添加组hadoop. vim /etc/group hadoop:x:5000 3.手动编辑/etc/passwd文件新增一行,添加用…
整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中. #!/bin/bash # Date: -- # Author: liwei today=$(date +%Y-%m-%d) log_file_name=/var/log/selfdefine/${today}.log /bin/df -lh > $log_file_name 然后再…
MySQL练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成绩: 4.查询所有同学的学号.姓名.选课数.总成绩: 5.查询姓“李”的老师的个数: 6.查询没学过“叶平”老师课的同学的学号.姓名: 7.查询学过“001”并且也学过编号“002”课程的同学的学号.姓名: 8.查询学过“叶平”老师所教的所有课的同学的学号.姓名: 9.查询课程编号“002”的成绩比…
MySQL练习题参考答案 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 思路: 获取所有有生物课程的人(学号,成绩) - 临时表 获取所有有物理课程的人(学号,成绩) - 临时表 根据[学号]连接两个临时表: 学号 物理成绩 生物成绩 然后再进行筛选 select A.student_id,sw,ty from (select student_id,num as sw from score left join course on score.course_id = course.c…