11 2021 档案
摘要:原题传送门 a=p1k1∗p2k2∗p3k3∗…∗pnknab=p1k1∗b∗p2k2∗b∗p3k3∗b∗…∗pnkn∗bans=(1+p11+p12+p13+…+p1k1∗b)∗(1+p21+p22+p23+…+p1k2∗b)∗...∗(1+pn
阅读全文
摘要:原题传送门 数据上看显然从r−l≤10e6下手 先筛法筛出素数 再由欧拉函数 φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn) 用根号r以内质数的筛出[l,r]所有数的欧拉函数即可 注意做个标记,没被质数筛过的[l,r]中的数就是大质数,此时φ(n
阅读全文
摘要:原题传送门 因为三元组x,y,z是等差数列,所以x和z奇偶性一致,然后按照奇偶以及颜色分组 对于某种奇偶性的某种颜色: 答案=(x[1]+x[2])*(y[1]+y[2])+(x[1]+x[3])*(y[1]+y[3])+……+(x[1]+x[k])*(y[1]+y[k]) +(x[2]+x[3])
阅读全文
摘要:原题传送门 水一题,此题和洛谷P4047 [JSOI2010]部落划分完全一样,没有任何区别,代码就调换了一下n和m输入的顺序以及最后while(ans>=m)改成了while(ans>m) 题解传送门 #include<bits/stdc++.h> #define INF 2147483647 u
阅读全文
摘要:原题传送门 线段树裸题 #include<bits/stdc++.h> using namespace std; const int maxn=100010; int a[maxn+2]; struct tree{ int l,r;//[l,r]这条线段 long long pre,add;//pr
阅读全文
摘要:原题传送门 等于说在求n=a+b+c+d+...(a<=b<=c...)的划分数,其中abcd各是某组平行线的数量,它们两两不平行。 数据规模比较小,直接递归求就行,thre是threshold的缩写,阈值 #include<bits/stdc++.h> using namespace std; b
阅读全文
摘要:原题传送门 Prim算法/最小生成树裸题:不断取出未加入集合的点中距离最近的那个,并将其连的所有边加入priority_queue中(priority_queue重载运算符<然后用node),反复循环直到priority_queue为空 重点:priority_queue的使用 #include<b
阅读全文
摘要:原题传送门 把所有两点之间的边存入priority_queue中(priority_queue重载运算符<然后用node),一开始每个点单独一个集合,不断合并不在同一集合内的距离最近的点,直到剩余m个集合 重点:priority_queue的使用 #include<bits/stdc++.h> #d
阅读全文

浙公网安备 33010602011771号