
数学
fffalling
这个作者很懒,什么都没留下…
展开
-
leetcode 1610. 可见点的最大数目(atan2找角度)
题目地址这是一道计算两个点角度的题首先介绍一下atan2函数知道了这些知识之后这道题就不难了,我们计算每个点到location的角度,排序之后定义两个变量i,j;找到符合i+angle<j的最后一个点即可,由于i在增大,所以j也无需重置。最后需要注意以下double类型的精度问题。还有一种是和location重合的点先找出来,因为重合的点在atan2函数中是没有定义的class Solution: def visiblePoints(self, points: List[Lis原创 2020-10-06 11:21:27 · 365 阅读 · 0 评论 -
Codeforces Round #553 (Div. 2) C - Problem for Nazar(数学)
C. Problem for Nazartime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNazar, a student of the scientific lyceum of the Kingdom of Kremland, is k...原创 2019-12-31 12:36:50 · 195 阅读 · 0 评论 -
Codeforces Round #549 (Div. 2) D. The Beatles(数学)
D. The Beatlestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently a Golden Circle of Beetlovers was found in Byteland. It is a circle rou...原创 2019-12-31 12:37:20 · 168 阅读 · 0 评论 -
Codeforces Round #550 (Div. 3) E. Median String(大数模拟)
E. Median Stringtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two strings s and t, both consisting of exactly k lowercase Lat...原创 2019-12-31 12:36:27 · 137 阅读 · 0 评论 -
牛客 D 月月给华华出题(欧拉函数)
链接:https://ac.nowcoder.com/acm/contest/392/D题目描述因为月月是个信息学高手,所以她也给华华出了一题,让他求:∑Ni=1igcd(i,N)∑i=1Nigcd(i,N)但是因为这个式子实在太简单了,所以月月希望华华对N=1,2,…,n各回答一次。华华一脸懵逼,所以还是决定把这个问题丢给你。输入描述:一个正整数n。输出描述:输出n行,第i行表示...原创 2019-03-22 17:21:34 · 469 阅读 · 0 评论 -
牛客 华华给月月出题 (积性函数+线性筛)
N&lt;=13000000;解析这是一个积性函数,满足f(a,b)=f(a)*f(b);也就是说我们只要把所有质数的N次方算出来即可合数可以通过质数得出其他常见的积性函数还有1.莫比乌斯函数2.欧拉函数3.求约数和4.求约数的个数代码import java.io.BufferedReader;import java.io.*;import java.io.Inpu...原创 2019-03-17 12:40:41 · 366 阅读 · 0 评论 -
南京赛区网络赛 J. Sum(欧拉筛法+质因子分解+思维)
题解:有如下结论1.若i是素数则f(i)=22.若i的某个质因子个数超过2,则f(i)=0。这个结论很好想,如果有大于2个相同质因子,那么对于i的每个分解 i=a*b,a和b中必定有一个数含平方因子3.若i=a*b且a和b不含相同因子即可,那么f(i)=f(a)*f(b)4.若i的质因子x的个数为2,f(i)=f(i/(x*x))即为去掉平方因子的个数打表用到了欧拉筛法...原创 2018-09-03 09:32:10 · 183 阅读 · 0 评论 -
6298 Maximum Multiple (找规律
打表找规律 在n%3==0时 分三份 在n%4==0时分成n/2 n/4 n/4 #include<bits/stdc++.h>using namespace std;int T;long long n;int main(){ scanf("%d",&T); while (T--){ scanf("%lld",&n); ...原创 2018-08-21 20:55:26 · 135 阅读 · 0 评论 -
HDU多校第九次 1004 Rikka with Stone-Paper-Scissors (期望
则B出剪刀得分的期望是:aa*(c-b)/(a+b+c) 依次类推 所以B获胜的期望是:(aa*c-aa*b+bb*a-bb*c+cc*b-cc*a)/(a+b+c) 最后化简下分数 并且考虑为负数的情况#include<bits/stdc++.h>#define LL long longusing namespace std;int main(){ int ...原创 2018-08-21 20:23:32 · 212 阅读 · 0 评论 -
HDU 6432 Problem G. Cyclic(容斥原理)
又见到容斥原理了,不过这道题OEIS也能搞出来 考虑使用容斥原理进行计数. 包含至少一个形如 [i, i + 1] 或 [n, 1] 这样的子串的环排列个数是 C(n,1)(n − 2)! 个; 可以推广为包含至少 k(0 ≤ k &amp;amp;amp;amp;amp;lt; n) 个的环排列个数是 C(n,k)(n − k − 1)!, 同时注意到,包含 n 个的环排列个数一定是 1 个. 所以最终答案就是 (−1)...原创 2018-08-24 18:33:14 · 384 阅读 · 2 评论 -
线性求欧拉函数
仅记录模板const int N=2e7;const int maxn=N+10;int primes,prime[maxn],phi[maxn];bool vis[maxn];void init(){ int i,j; phi[1]=1; for (i=2;i&lt;=N;i++) { if (!vis[i]) { ...原创 2018-08-22 22:06:24 · 224 阅读 · 0 评论 -
HDU 多校 6434(欧拉函数)
解析: 其实规律比较好找 即对于每个 i, 求有多少个小于它的 a 满足 gcd(i, a) = 1 且 a 是奇数 当 i 是奇数时, 答案为 φ(i)/2 当 i 是偶数时, 答案为 φ(i). 注意 i = 1 时, 答案为 0. 记个前缀和就好了, 复杂度为 O(N + T)#include<bits/stdc++.h>using namespace std;...原创 2018-08-22 22:03:56 · 282 阅读 · 0 评论 -
多校 HDU 6397 Character Encoding (容斥原理
若x1,x2,…..xn均大于等于0,则x1+x2+…+xn=k的方案数是C(k+m-1,m-1)种若限制条件为n(即x1,x2….xn均小于n,假设有c个违反,则把k减掉c个n(相当于把c个超过n的数也变成大于等于0的),就可以套用知识1的公式了。则最后的答案为sum( (-1)^c * C(m , c) * C(m-1+k-n*c , m-1) ); 套用组合数模板进行计算即可...原创 2018-08-16 11:46:11 · 276 阅读 · 0 评论