首页 > 其他分享 >UVA??? 考试 Exam

UVA??? 考试 Exam

时间:2023-07-20 18:34:47浏览次数:29  
标签:lfloor ch frac Exam int sqrt le UVA 考试

本来这篇题解是想在中考前写的,但是直到考前都没调出来,原因是 pow() 的精度感人。

由于 \(x\equiv0\pmod{a\cdot b}\),令 \(c=\dfrac{x}{ab}\),答案即 \(abc\le n\) 的无序三元组 \((a,b,c)\) 数量。

考虑把无序转成有序,即 \(a\le b\le c\),但显然会算少,分 \(4\) 种情况讨论:

  • \(a=b=c=k\),合法的有 \((k,k,k)\),对答案的贡献为 \(1\)。
  • \(a=b=k<c\),合法的有 \((k,k,c),(k,c,k),(c,k,k)\),贡献为 \(3\)。
  • \(a<b=c=k\),合法的有 \((k,k,c),(k,c,k),(c,k,k)\),贡献为 \(3\)。
  • \(a<b<c\),合法的有 \((a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b),(c,b,a)\),贡献为 \(6\)。

我们只需要统计 \(4\) 中情况每种的数量,乘上对应的贡献加起来即可。

  • \(a=b=c=k\),\(abc\le n\),\(k\le \lfloor\sqrt[3]{n}\rfloor\),方案数为 \(\lfloor\sqrt[3]{n}\rfloor\)。
  • \(a=b=k<c\),枚举 \(k\)(显然不会超过 \(\lfloor\sqrt[3]{n}\rfloor\)),\(k<c\le \left\lfloor\dfrac{n}{k^2}\right\rfloor\),方案数为 \(\sum\limits_{k=1}^{\lfloor\sqrt[3]{n}\rfloor}\left\lfloor\dfrac{n}{k^2}\right\rfloor-k\)。
  • \(a<b=c=k\),枚举 \(a\),\(k\le \left\lfloor\dfrac{n}{a}\right\rfloor\),方案数为 \(\sum\limits_{a=1}^{\lfloor\sqrt[3]{n}\rfloor}\left\lfloor\dfrac{n}{a}\right\rfloor-a\)。
  • \(a<b<c\),枚举 \(a,b\),\(c\le \left\lfloor\dfrac{n}{ab}\right\rfloor\),方案数为 \(\sum\limits_{a=1}^{\lfloor\sqrt[3]{n}\rfloor}\sum\limits_{b=a+1}^{\lfloor\sqrt{\frac{n}{a}}\rfloor}\left\lfloor\dfrac{n}{ab}\right\rfloor-b\)。

不难计算出复杂度 \(O(Tn^{\frac{2}{3}})\)。

#include <bits/stdc++.h>
#define int long long
using namespace std;

namespace vbzIO {
	char ibuf[(1 << 20) + 1], *iS, *iT;
	#if ONLINE_JUDGE
	#define gh() (iS == iT ? iT = (iS = ibuf) + fread(ibuf, 1, (1 << 20) + 1, stdin), (iS == iT ? EOF : *iS++) : *iS++)
	#else
	#define gh() getchar()
	#endif
	#define mt make_tuple
	#define mp make_pair
	#define fi first
	#define se second
	#define pc putchar
	#define pb push_back
	#define ins insert
	#define era erase
	#define bg begin
	#define rbg rbegin
	typedef tuple<int, int, int> tu3;
	typedef pair<int, int> pi;
	inline int rd() {
		char ch = gh();
		int x = 0;
		bool t = 0;
		while (ch < '0' || ch > '9') t |= ch == '-', ch = gh();
		while (ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = gh();
		return t ? ~(x - 1) : x;
	}
	inline void wr(int x) {
		if (x < 0) {
			x = ~(x - 1);
			putchar('-');
		}
		if (x > 9)
			wr(x / 10);
		putchar(x % 10 + '0');
	}
}
using namespace vbzIO;

int n, k, t;

int calc() {
	int res = k;
	for (int i = 1; i <= k; i++) {
		res += max((int)sqrt(n / i) - i, 0ll) * 3;
		res += max(n / (i * i) - i, 0ll) * 3;
		for (int j = i + 1; i * j * (j + 1) <= n; j++) 
			res += (n / (i * j) - j) * 6;
	}
	return res;
}

int cl(int x) {
    int res = -1, l = 1, r = 1e6;
    while (l <= r) {
        int mid = (l + r) >> 1;
        if (mid * mid * mid <= x) l = mid + 1, res = mid;
        else r = mid - 1;
    }
    return res;
}

signed main() {
	while (~scanf("%lld", &n)) {
		k = cl(n);
		printf("Case %lld: %lld\n", ++t, calc());
	}
	return 0;
}

upd : 补充一下复杂度证明,但是不太严谨。

不难发现复杂度主要是在第 \(4\) 部分,为 \(T(n)=\sum\limits_{i=1}^{\lfloor\sqrt[3]{n}\rfloor}\left(\sqrt{\dfrac{n}{i}}-i\right)\)

后面那个 \(-i\) 可以直接扔出来变成 \(\sqrt[3]{n}\),考虑:

\[\begin{aligned}\sum\limits_{i=1}^{\lfloor\sqrt[3]{n}\rfloor}\sqrt{\frac{n}{i}}&=\sqrt n\cdot\sum\limits_{i=1}^{\lfloor\sqrt[3]{n}\rfloor}\frac{1}{\sqrt i}\\&\thicksim\sqrt n\int^{n^{\frac{1}{3}}}_1x^{-\frac{1}{2}}dx\\&=\cdot O(n^{\frac{1}{2}}\cdot n^{\frac{1}{6}})=O(n^{\frac{2}{3}})\end{aligned} \]

所以复杂度就大概 \(O(n^{\frac{2}{3}})\) 了。

标签:lfloor,ch,frac,Exam,int,sqrt,le,UVA,考试
From: https://www.cnblogs.com/Ender32k/p/17569335.html

相关文章

  • 2023年9月天津/郑州/深圳DAMA-CDGA/CDGP认证考试报名
    据DAMA中国官方网站消息,2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启,相关事宜通知如下: 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA)数据治理专家(CertifiedDataGovernanceProfessional,CDGP) 考试时间: CDGA:2023......
  • 7.19考试总结
    总结这次考试,我发现了几个问题。dp状态和转移方程写不出。看出了是dp却不知道如何去实现。平时的思考不够细致认真。数据的范围没有看清。计划接下来的一个月重点突破dp学习多种dp熟练动态转移方程和状态。 ......
  • 2023年8月19号PMP考试地点已出!请查收
    PMP认证是项目管理专业人士资格认证,是一种国际级的高级人才管理认证。它的主要考试内容就是项目管理体系知识。关于2023年8月19号才聚各考点考场地址,在这里给大家简单介绍一下。8月19日才聚各考点考场地址:深圳才聚1、4-9:广东省深圳市宝安区沙井街道松福大道与帝堂路交口100米深圳市......
  • 华为认证的题库,不仅能考试,还能帮你提升技能!
    1、OSPF协议在哪种状态下确定DD报文的主从关系?A.2-wayB.ExchangeC.ExStartD.Full2、在VRP操作系统中,如何进入OSPF区域0的视图?A.[Huawei-ospf-1]area0B.[Huawei]ospfarea0C.[Huawei-ospf-1]area0enableD.[Huawei-ospf-1]area0.0.0.03、运行OSPF协议的路由器所有接口必须......
  • MIT6.s081/6.828 lectrue1:Introduction and examples
    目前课程官网能够查到2020,2021.2022秋季的课程表,但是视频都是2020年录制的那一版简单复习+回顾下自己的OS学习之旅参考资料:官网:https://pdos.csail.mit.edu/6.828/2022/schedule.html视频翻译:https://mit-public-courses-cn-translatio.gitbook.io/mit6-s081/教材英文......
  • UVA10791 最小公倍数的最小和 Minimum Sum LCM 题解
    前言长沙市一中8机房0714模拟测1。传送门blog思路本题思路,首先我们先看$\operatorname{lcm}$,明显要使得这些数的$\operatorname{lcm}=n$那么我们就需要所有的数的质因子必须包含$n$的质因子。若$1\lea,b$,则$a\timesb\gea+b$,所以我们就有了策略。将同一个质因......
  • 【总结】暑假test2考试总结
    暑假test2考试总结T1考试题目#1846.看电视(watching)考试思路这道题比较的简单,用贪心就做出来了(为啥有人说\(DP\)啊)考试代码//watching//codeby:st20250113#include<bits/stdc++.h>usingnamespacestd;constintMAXN=1e7+10;longlongn,k;long......
  • FIX tutorial in Java with QuickFIX/j simple example
    http://www.tuicool.com/articles/v2me6r 时间 2014-07-3112:22:00ArulkumaranKumaraswamipillaiblog主题Log4J Q.WhatisFIXProtocol? A.FIXstandsforFinancialInformationeXchange,whichisanopenprotocolintendedtostre......
  • 软件工程与计算II-24-考试总结
    summary1.软件工程应用系统的、规范的、可量化的方法来开发、运行和维护软件,即将工程应用到软件。对1)中各种方法的研究。2.五十年代到00年代的特点1950s:科学计算;以机器为中心进行编程;像生产硬件一样生产软件。1960s:业务应用(批量数据处理和事物计算);软件不同于硬件;用软件工艺的......
  • SSM - Mybatis - Example - SQL
     Teacher/Student表CREATETABLE`teacher`(`id`INTNOTNULL,`name`VARCHAR(30)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=INNODBDEFAULTCHARSET=UTF8MB4;INSERTINTOteacher(`id`,`name`)VALUES(1,'秦老师');CREATETABLE`student`(......