
数论-数学杂题
数学杂题
IDrandom
菜菜菜
展开
-
[LeetCode 326,342][简单]3的幂/4的幂
326.3的幂 题目链接 比较好想的是取对数法。 class Solution { public: double eps = 1e-11; bool isPowerOfThree(int n) { if(n<=0)return 0; double pw = log2(n) / log2(3.0); return fabs(rou...原创 2020-02-23 16:32:21 · 242 阅读 · 0 评论 -
[LeetCode 257,258][简单]二叉树的所有路径/各位相加
257.二叉树的所有路径 题目链接 class Solution { public: vector<string>ans; string path=""; void getans(TreeNode* root,string path){ if(root)path += to_string(root->val); else r...原创 2020-02-18 18:06:30 · 155 阅读 · 0 评论 -
[LeetCode 203,204][简单]移除链表元素/计数质数
203.移除链表元素 题目链接 比较通用的思路是加一个dummyhead,那我就用二级指针做一下 class Solution { public: ListNode* removeElements(ListNode* head, int val) { ListNode **p = &head; while(*p){ if((*...原创 2020-02-11 19:07:20 · 195 阅读 · 0 评论 -
[LeetCode 172,189][简单]阶乘后的零/旋转数组
172.阶乘后的零 题目链接 10 = 2 * 5,比n小是2的倍数的数肯定比是5的多,所以只需要看因子5出现的次数 class Solution { public: int trailingZeroes(int n) { int ans = 0; while(n){ n/=5; ans += n; ...原创 2020-02-08 19:10:37 · 248 阅读 · 0 评论 -
[LeetCode 67,69][简单]二进制求和(模拟)/x的平方根(牛顿法)
67.二进制求和 题目链接 class Solution { public: void upd(string &c,int add,int &op){ c += to_string((add + op) & 1); op = (add + op) >> 1; } string addBinary(strin...原创 2020-01-31 05:31:01 · 206 阅读 · 0 评论 -
lightoj1220Mysterious Bacteria
sb题,你可以 1.暴力n−−√\sqrt n枚举因子 2.枚举答案,判是否可行 hint:注意负数这里写代码片#include <stdio.h> #include<cmath> #include<cstring> using namespace std; typedef long long LL; LL solve(LL n){ int flag=0; if(n<0){n原创 2016-05-19 00:47:35 · 284 阅读 · 0 评论 -
lightoj1336Sigma Function(dfs打表或容斥)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1336 定义了一个函数sigma(n),它的值为n的约数和,求n以内sigma(i)为偶数的个数 那么如果 n=p1^a1*p2^a2…..*pt^at sigma(n)=(p1^0+p1^1+p1^2+…+p1^a1)(p2^0+p2^1+…+p2^a2)…(pt^0+pt^1+原创 2016-05-03 03:16:47 · 519 阅读 · 0 评论 -
lightoj1138Trailing Zeroes (III)
原题链接:http://lightoj.com/volume_showproblem.php?problem=1138 题目意思就是给你个q,.求一个最小的n,使得 n!n! 结尾有q个0,如果没有输出impossible sb题就看n!n! 的因子里面有多少个5就行了,然后二分答案#include <stdio.h> int get(int a){ if(!a)return 0;原创 2016-06-15 00:00:31 · 358 阅读 · 0 评论 -
lightoj1197Help Hanzo(二次筛)
原题链接:http://lightoj.com/volume_showproblem.php?problem=1197 题目大意:查询一个区间[a,b]内的质数个数,其中1≤a≤b<2311\le a \le b\lt2^{31},但是有a−b≤1e5a-b\le1e5,那么首先我想到用miller-rabin冲一下,结论是数据卡了miller-rabin,反正我冲不过去,那就先打出来一个小范围的原创 2016-06-14 23:42:53 · 521 阅读 · 0 评论 -
lightoj1213 - Fantasy of a Summation
题目链接:http://lightoj.com/volume_showproblem.php?problem=1213 嘛。。。sb题 发现对于循环最内层的每一项,都有n中选择,也就是一个∑n−1i=0ai\sum_{i=0}^{n-1}{a_i} 所以答案是knk−1∑n−1i=0aikn^{k-1}\sum_{i=0}^{n-1}{a_i}#include <stdio.h> #inclu原创 2016-05-21 00:52:19 · 526 阅读 · 0 评论 -
lightoj1214 - Large Division
题目链接:http://lightoj.com/volume_showproblem.php?problem=1214 问b是不是可以整除a ∑ni=1(ai%b)=(∑ni=1ai)%b\sum_{i=1}^n (a_i\%b)=(\sum_{i=1}^n a_i )\%b sb题#include <stdio.h> #include <cstring> using namespace st原创 2016-05-20 00:38:34 · 487 阅读 · 0 评论 -
lightoj1234Harmonic Number
题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 sb题,分块打表就行#include <stdio.h> #include<iostream> #include<algorithm> #include<cmath> #include<cstring> using namespace std; double ans[100001原创 2016-05-19 00:04:30 · 366 阅读 · 0 评论 -
lightoj1341Aladdin and the Flying Carpet(分解质因数+dfs)
题目链接:(http://lightoj.com/volume_showproblem.php?problem=1341)题意大概就是给你一个长方形面积a,求满足长和宽都不少于b的情况数,长不等于宽,t(sqrt(a)-b)会爆,但是数据比较水没卡tsqrt(b),当然我是分解质因数然后暴力找约数xjb剪剪枝过的#include <stdio.h> #include<cmath> #include<原创 2016-05-03 01:06:49 · 850 阅读 · 0 评论 -
lightoj1282 - Leading and Trailing(水题)
水题 末位取模快速幂 首位取对数瞎搞 题目链接 http://lightoj.com/volume_showproblem.php?problem=1282#include <stdio.h> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> using nam原创 2016-05-04 01:00:36 · 649 阅读 · 0 评论 -
lightoj1259 - Goldbach`s Conjecture(水题)
打完表以后暴力就好了 题目链接: http://lightoj.com/volume_showproblem.php?problem=1259#include <stdio.h> #include<cmath> #include<iostream> #include<cstring> #include<algorithm> using namespace std; typedef long lo原创 2016-05-05 23:28:05 · 612 阅读 · 0 评论 -
lightoj1236Pairs Forming LCM
题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 分解质因数以后枚举完全包含某个质因子项的集合然后分别统计,除了全集以外,其余每种情况都会在枚举的时候多统计一次,那么得到的答案+1以后除以2以后便是本题答案#include <stdio.h> #include<algorithm> #include<cstring> #incl原创 2016-05-18 01:16:50 · 462 阅读 · 0 评论 -
lightoj1245Harmonic Number (II)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1245 求floor(n/1)+floor(n/2)+…+floor(n/n) 首先令s=floor(sqrt(n)) 原式=floor(n/1)+…+floor(n/s)+floor(n/(s+1))+…+floor(n/n) 接下来,设p=floor(n/a),p+1=floo原创 2016-05-17 01:13:16 · 491 阅读 · 0 评论