语法问题

https://codeforces.com/blog/entry/15643

scanf

scanf("%c",&c); 可以输入换行符
scanf("%s",s+1); 不会读取换行符

pair<int,int> p;
p = {3,4};

vector<int>v;
v = {3,4,5,6};

tuple

tuple<int,int,int> t;
t = {1,2,3};
int x =  get<1>(t);
cout<<x<<endl;

builtin

int x = __builtin_ffs(16);//返回最低位1的位置
int y = __builtin_ctz(16);//返回尾0的个数
int z = __builtin_popcount(x);//返回1的个数

Output

for(i = 1; i <= n; i++)
    for(j = 1; j <= m; j++)
        cout << a[i][j] << " \n"[j == m];

pow

今天long long范围内调用了pow函数,然后WA了

改成这样就过了,待解决

ll p(ll a,ll b){
    ll ans = 1;
    for(ll i=1;i<=b;i==){
        ans*=a;
    }
    return ans;
}

vector<vector>

vector<vector<int>> pre(m, vector<int>(n + 1));

相当于开了一个int pre[m][n+1]的数组,但是不会MLE(\(\sum n \leq {10}^5\))

反正是动态的

posted @ 2020-03-27 23:44  瓜瓜站起来  阅读(136)  评论(0编辑  收藏  举报