math
blue_sister
这个作者很懒,什么都没留下…
展开
-
1105 Spiral Matrix (25 分)
1.顺时针填矩阵 2.math #include<bits/stdc++.h> using namespace std; #define ll long long struct node{ int x,y; }; node op[4]; bool isprime(int x){ //这里1虽然不是素数但也此题也可放入该列 if(x==1) return true; int k = (int)sqrt(x); for(int i=2;i<=k;原创 2021-04-19 21:18:35 · 49 阅读 · 0 评论 -
//GPLT L2-2 三足鼎立
1.STL 2.math 3.lower_bound和upper_bound的底层是二分实现的 #include<bits/stdc++.h> using namespace std; #define ll long long ll a[200005]; int main() { ll n,v; scanf("%lld%lld",&n,&v); for(int i=0;i<n;i++) scanf("%lld",&a[i])原创 2021-04-19 19:10:32 · 226 阅读 · 0 评论 -
L1-7 整除光棍 (20 分)
L1-7 整除光棍 (20 分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。 传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算, 输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。 提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,原创 2021-04-18 23:17:02 · 565 阅读 · 1 评论 -
1049 Counting Ones math
一.对一个数从低位到高位枚举,取其左边数,右边数,枚举每一位 二 分三种情况 1.当now位为0时说明,在now位产生1的情况有left次,且每次左边增加1右边回循环a次,即ans +=lefta 2.当now位为1时说明,在now位产生1的情况有left次,且每次左边增加1右边回循环a次,lefta,又因为now==1所以还要加上0~right次,即ans += left*a + right + 1 3.当now >=2,在now位产生1的情况有left + 1次,且每次左边增加1右边回循环a次,即原创 2021-03-20 15:49:36 · 68 阅读 · 0 评论