11 2021 档案

摘要:原题传送门 a=p1k1​​∗p2k2​​∗p3k3​​∗…∗pnkn​​ab=p1k1​∗b​∗p2k2​∗b​∗p3k3​∗b​∗…∗pnkn​∗b​ans=(1+p11​+p12​+p13​+…+p1k1​∗b​)∗(1+p21​+p22​+p23​+…+p1k2​∗b​)∗...∗(1+pn 阅读全文
posted @ 2021-11-09 23:54 遥望未来weilai 阅读(160) 评论(0) 推荐(0)
摘要:原题传送门 数据上看显然从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 阅读全文
posted @ 2021-11-09 23:48 遥望未来weilai 阅读(62) 评论(0) 推荐(0)
摘要:原题传送门 因为三元组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]) 阅读全文
posted @ 2021-11-08 23:47 遥望未来weilai 阅读(56) 评论(0) 推荐(0)
摘要:原题传送门 水一题,此题和洛谷P4047 [JSOI2010]部落划分完全一样,没有任何区别,代码就调换了一下n和m输入的顺序以及最后while(ans>=m)改成了while(ans>m) 题解传送门 #include<bits/stdc++.h> #define INF 2147483647 u 阅读全文
posted @ 2021-11-08 23:36 遥望未来weilai 阅读(31) 评论(0) 推荐(0)
摘要:原题传送门 线段树裸题 #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 阅读全文
posted @ 2021-11-07 20:21 遥望未来weilai 阅读(28) 评论(0) 推荐(0)
摘要:原题传送门 等于说在求n=a+b+c+d+...(a<=b<=c...)的划分数,其中abcd各是某组平行线的数量,它们两两不平行。 数据规模比较小,直接递归求就行,thre是threshold的缩写,阈值 #include<bits/stdc++.h> using namespace std; b 阅读全文
posted @ 2021-11-07 20:14 遥望未来weilai 阅读(78) 评论(0) 推荐(0)
摘要:原题传送门 Prim算法/最小生成树裸题:不断取出未加入集合的点中距离最近的那个,并将其连的所有边加入priority_queue中(priority_queue重载运算符<然后用node),反复循环直到priority_queue为空 重点:priority_queue的使用 #include<b 阅读全文
posted @ 2021-11-06 18:53 遥望未来weilai 阅读(60) 评论(0) 推荐(0)
摘要:原题传送门 把所有两点之间的边存入priority_queue中(priority_queue重载运算符<然后用node),一开始每个点单独一个集合,不断合并不在同一集合内的距离最近的点,直到剩余m个集合 重点:priority_queue的使用 #include<bits/stdc++.h> #d 阅读全文
posted @ 2021-11-06 18:38 遥望未来weilai 阅读(55) 评论(0) 推荐(0)