自己的算法
文章平均质量分 70
Looy_cai
愿你能够
成为优秀的人
展开
-
树状数组(入门,慢慢补)
树状数组的一些简单操作要搞清楚~ 首先是: int lowbit(int x){ return x & -x; } 它是基础噢,具体描述参考别的大佬的文章 单点更新: void update(int x,int val){//单点更新 while(x<=n){ b[x]+=val; x+=lowbit(x); } }//从小到大 求区间[1,x]的和: int sum(int x){//求前缀和 区间[1,x] int sum=0; while(x>0){原创 2021-04-29 00:30:30 · 132 阅读 · 0 评论 -
指针&引用
只有简单几点 1.&:取地址,*:指针 #include <bits/stdc++.h> using namespace std; int main() { int a; cin>>a; int* p; p=&a;//p:取a的地址 cout<<p<<endl<<*p<<endl; //*p:指向a的值 return 0; } 2:&:引用 引用:用来给一个对象提供一个代替的名字 #includ原创 2021-02-03 10:34:23 · 71 阅读 · 0 评论 -
做题基础~~~tips
1.拆分数字x(可以很大噢) int x,a[10005],c=0;//a[]数组存放拆分出来的每个数字,c用于标记数字在数组里存放的位置 scanf("%d",&x); while(x){ a[c++]=x%10; x/=10; } for(int i=c-1;i>=0;i--)//正序输出 printf("%d ",a[i]); 2.关于长度: 字符串数组长度:strlen() 整型数组长度:sizeof(arr)/sizeof( int ) 注意:这里得到的是数组的原创 2021-01-01 13:03:27 · 1810 阅读 · 5 评论 -
快速幂+矩阵快速幂模板
运用位运算 强大的位运算把我搞得蒙蒙的 理解了之后我表示很喜欢!!! int power(int n,int g){ int ans=1; while(n){ if(n&1) ans*=g; g*=g; n>>=1; } return ans; } 一点理解… 如果不懂位运算就去搜搜叭 好多大神写的很棒 不过因为快速幂很容易就溢出,int用long long会好一丢丢(因为就算改了也很容易溢出hhh) 可能题目会有说用mod叭… ...原创 2020-12-19 22:35:03 · 240 阅读 · 1 评论