![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ICPC真题
文章平均质量分 76
icpc
_lifehappy_
这个作者很懒,什么都没留下…
展开
-
I. Rise of Shadows(类欧几里得)
I. Rise of Shadows一天有HHH个小时,MMM分钟,问,有多少个整数分钟,满足时针与分针的角度≤α\le \alpha≤α,α=2πAHM\alpha = \frac{2 \pi A}{HM}α=HM2πA。∑i=0H−1∑j=0M−1[∣2π(i×M+j)HM−2πjM ∣≤2πAHM]∑i=0H−1∑j=0M−1[∣i×M+j−H×j∣≤A]H×M−∑i=0H−1∑j=0M−1[i×M+j−H×j>A]−∑i=0H−1∑j=0M−1[i×M+j−H×j<−A]原创 2021-10-02 16:38:20 · 836 阅读 · 1 评论 -
L. Coordinate Paper(CCPC 长春)构造
L. Coordinate Paper构造一个长度为nnn的序列aaa,满足ai≥0a_i \geq 0ai≥0,∑i=1nai=s\sum\limits_{i = 1} ^{n} a_i = si=1∑nai=s,对于任意的i∈[1,n−1]i \in [1, n - 1]i∈[1,n−1],都有ai−ai+1=k or ai+1−ai=1a_i - a_{i + 1} = k\ or\ a_{i + 1} - a{i} = 1ai−ai+1=k or原创 2021-05-26 19:50:03 · 395 阅读 · 0 评论 -
2019 ICPC Asia Yinchuan Regional(9 / 13)
2019 ICPC Asia Yinchuan RegionalA - Girls Band Party(分组背包)每个物品有两个标签,名字,颜色,当名字是设置为奖赏时会对整体加上0.1 的贡献,如果颜色符合要求时 会对整体加上 0.2 的的贡献但是有一个限制,相同名字的只能选一次,我们的目的是要选出 5 个物品使得总价值最大,map 映射一下,然后做分组背包就好了,定义f[i][j]f[i][j]f[i][j]为装了iii个物品,附加值是j10\frac{j}{10}10j时,最大的价值,最后再原创 2021-05-03 11:52:53 · 436 阅读 · 0 评论 -
A. Slackline Adventure(思维 + 莫比乌斯)(2018-2019 ACM-ICPC Brazil Subregional Programming Contest)
A. Slackline Adventure考虑枚举每个矩形的长跟宽,再统计这个矩形能在坐标轴上出现几次(同行相邻同列相邻的单独算),然后有如下式子:2×∑i=1n−1∑j=1m−1(n−i)(m−j)[gcd(i,j)=1][L2≤i2+j2≤R2]2 \times \sum_{i = 1} ^{n - 1} \sum_{j = 1} ^{m - 1}(n - i)(m - j)[\gcd(i, j) = 1][L ^ 2 \leq i ^ 2 + j ^ 2 \leq R ^ 2]\\2×i=原创 2021-05-01 23:45:02 · 340 阅读 · 0 评论 -
Mr. Panda and Kakin(拓展欧几里得 + O(1)快速乘)
Mr. Panda and Kakin给定n,cn, cn,c,要我们找到nnn是两个相邻质数的乘积,要我们找到xxx,满足x230+3≡c(modn)x ^{2 ^{30} + 3} \equiv c \pmod nx230+3≡c(modn),1010≤n≤1018,0<c<n10 ^{10} \leq n \leq 10 ^ {18}, 0 < c < n1010≤n≤1018,0<c<n,考虑得到230+32 ^{30} + 3230+3模ϕ(n)\phi(n原创 2021-04-28 19:20:48 · 331 阅读 · 0 评论 -
2016-2017 ACM-ICPC CHINA-Final(7 / 12)
2016-2017 ACM-ICPC CHINA-FinalA. Number Theory Problem(规律、签到)#include <bits/stdc++.h>using namespace std;int main() { // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); int T, n, cas = 0; scanf("%d", &T); while原创 2021-04-22 19:16:31 · 326 阅读 · 1 评论 -
Finding Hotels(牛客国庆集训派对Day7 )(2016ICPC青岛K)(K-D Tree)
Finding Hotels给定二维平面上nnn个点,每个点描述为x,y,cx, y, cx,y,c,x,yx, yx,y为坐标,ccc为该点的价值,有mmm个询问,每次询问给x,y,cx, y, cx,y,c,要求,点的价值小于等于ccc的条件下,与x,yx, yx,y最近的且编号最小的点。考虑K-D Tree,对K-D Tree的每个节点同时维护三个信息,L,R,D,U,Max_cL, R, D, U, Max\_cL,R,D,U,Max_c,然后减枝搜索即可。#include <bit.原创 2021-03-20 21:46:57 · 238 阅读 · 2 评论 -
2020 ICPC 济南 F. Gcd Product
Gcd ProductCm=∑i=1mAgcd(i,m)Bgcd(k+1−i,m)∑d1∣mAd1∑d2∣mBd2∑i=1m([gcd(id1,md1)=1][d1∣i])([gcd(m+1−id2,md2)=1][d2∣m+1−i])∑d1∣mAd1∑d2∣mBd2∑k1∣md1μ(k1)∑k2∣md2μ(k2)∑i=1m([d1∣i][k1∣id1])([d2∣m+1−i][k2∣m+1−id2])T1=d1×k1,T2=d2×k2∑T1∣m∑d1∣T1Ad1μ(T1d1)∑T2∣m∑d2∣T原创 2021-02-21 21:32:32 · 443 阅读 · 1 评论 -
ICPC 徐州 H Yuuki and a problem (树状数组套主席树)
Yuuki and a problem先不管第一问的修改操作,考虑如何达到第二问的查询操作,题目要我们给出一个区间[l,r][l, r][l,r]中,不能通过权值+++得到的最小的数字是什么,假设我们已经可以得到[1,x][1, x][1,x]之间的数了,且,我们询问权值在[1,x+1][1, x + 1][1,x+1]之间的和为sumsumsum,那么[1,sum][1, sum][1,sum]之间的数一定能通过+++法得到,我们分类讨论一下:sum=sumxsum = sum_xsum=su原创 2021-02-10 19:53:35 · 384 阅读 · 0 评论 -
ICPC 南昌现场赛 K:Tree(dsu on tree + 动态开点线段树)
Tree让我们找满足一下五个条件的(x,y(x, y(x,y)点对有多少:x≠yx \neq yx=yxxx不是yyy的祖先yyy不是xxx的祖先dis(x,y)≤kdis(x, y)\leq kdis(x,y)≤kzzz是x,yx, yx,y的最近公共祖先,valuex+valuey=2valuezvalue_x + value_y = 2value_zvaluex+valuey=2valuez。读题目观察到每个节点的valuevaluevalue只有[0,105][0, 10原创 2021-02-09 20:27:06 · 309 阅读 · 0 评论 -
南昌网络赛E Interesting Series
Interesting Series可求得通项Fn=an−1a−1F_n = \frac{a ^ n - 1}{a - 1}Fn=a−1an−1,一个等比数列的前nnn项和,value(s)=Fsum(s)value(s) = F_{sum(s)}value(s)=Fsum(s)。题目要我们求的是Answer(K)=∑s∈subset of S and ∣s∣=Kvalue(s)Answer(K) = \sum\limits_{s \in subset\ o原创 2021-02-06 18:14:23 · 210 阅读 · 0 评论 -
Convex Hull (ACM-ICPC 2018 沈阳赛区网络预赛) 存个公式
Convex Hullgay(i)={0ifi=k×x×x,x>k,k>1i×ielse}求∑i=1n∑j=1igay(j)=∑i=1n(n−i+1)gay(i)=∑i=1n(n−i+1)μ2(i)i2因为μ2(n)=∑i2∣nμ(i),容斥定理显然得到有原式=∑i=1n(n−i+1)i2∑j2∣iμ(j)=(n+1)∑i=1n∑j2∣iμ(j)−∑i=1ni3∑j2∣iμ(j)=(n+1)∑j=1nμ(j)∑j2∣ii2−∑j=1nμ(j)∑j2∣ii3=(n+1)∑j=1nμ(j)∑t=1原创 2020-09-17 20:06:21 · 248 阅读 · 1 评论 -
Easy Math(ACM-ICPC 2018 徐州赛区网络预赛)(递归 + 杜教筛)
Easy Math推式子∑i=1mμ(in)∑i=1mμ(i×nd×d),d是n的一个质因子i,d互质项有(−∑i=1mμ(i×nd)),由于减去了多余的非互质项,所以加上,−∑i=1mμ(i×nd)+∑i=1mdμ(i×d×nd)−∑i=1mμ(i×nd)+∑i=1mdμ(i×n)\sum_{i = 1} ^{m} \mu(in)\\\sum_{i = 1} ^{m} \mu(i \times \frac{n}{d} \times d),d是n的一个质因子\\i, d互质项有(-\sum_{i原创 2020-09-12 11:03:57 · 266 阅读 · 0 评论 -
B. Product(2019ICPC西安邀请赛)(杜教筛)
Product推式子原式=m∑i=1n∑j=1n∑k=1ngcd(i,j)[k∣gcd(i,j)]∑i=1n∑j=1n∑k=1ngcd(i,j)[k∣gcd(i,j)]∑k=1n∑i=1nk∑j=1nkgcd(ik,jk)∑k=1nk∑i=1nk∑j=1nkgcd(i,j)∑k=1nk∑d=1nkd∑t=1nkdμ(t)(nkdt)2∑k=1nk∑d=1nkϕ(d)(nkd)2在这个点直接输出答案tle了几个点,所以还得化简。t=kd∑t=1n(nt)2∑d∣tϕ(d)td后面一项写成迪利克雷卷积形式f原创 2020-09-11 23:06:32 · 362 阅读 · 0 评论 -
HDU 4812 D Tree (点分治) (2013ACM/ICPC亚洲区南京站现场赛)
HDU 4812 D Tree思路点对距离相等并且要求输出字典序最小的点对,距离相等不就是点分治裸题了嘛,照着这个思路出发我们只要记录下所有点对是满足要求的,然后再去找字典序最小的点对就行了,接下来就是考虑如何求最小点对了,按照路径相加的原理,这里我们处理出所有路径到当前根节点的乘积出来,然后把这个数与k相除得到我们要找的点,当然,这个除法是模意义下的逆元乘法。然后这题就变成了点分治裸题了。代码/* Author : lifehappy*/#pragma comment(linker,原创 2020-08-31 01:01:29 · 266 阅读 · 0 评论 -
HDU 4059 The Boss on Mars (容斥)(2011 Asia Dalian Regional Contest)
The Boss on Mars思路显然我们可以求得∑i=1ni4=6n5+15n4+10n3−n30\sum_{i = 1} ^{n} i ^ 4 = \frac{6n^5 + 15n^4 + 10n ^3 - n}{30}∑i=1ni4=306n5+15n4+10n3−n,接下来就是考虑把其中不与nnn互质的数给踢出去了,显然我们可以考虑容斥。假设n=p1a1p2a2p3a3…pn−1an−1pnann = p_1 ^{a_1}p_2 ^{a_2}p_3^{a_3}\dots p_{n - 1原创 2020-09-01 15:36:17 · 191 阅读 · 0 评论