Tips

时间:2024-01-02 14:37:40

1)字符串转换数字

 ') {
     ;
     do{
         j*=;j+=');
         i++;
     }');

//实际上为读入优化的一部分

2)进制转换万能模板

 #include <cstdio>
 using namespace std;
 ;
 ];
 char trans(int x){
     ) ? (x +  + 'A');
 }
 int main(){
     scanf("%d%d", &x,&k);
     ) printf(");
     else{
         while (x){
                int mod = x % k;
             mod = (mod < ) ? (mod - k) : mod;
             ans[i++] = trans(mod);
             x = (x - mod) / k;
         }
         while (i--) printf("%c", ans[i]);
     }
     ;
 }

附几个样例:

Tips

3)二维数组前缀和

注意前缀和的求法和面积的表示方法,对于二维数组的前缀和,先像一维数组那样求一遍每行的前缀和,再将每一个前缀和加上自己上面的点的前缀和。

而面积的表示:对于i,j点边长为l的正方形,前缀和表示:sum[i][j]-sum[i-l][j]-sum[i][j-l]+sum[i-l][j-l]

栗子:http://www.cnblogs.com/radiumlrb/p/5808285.html

http://www.cnblogs.com/radiumlrb/p/5808527.html

4)这一点不见了 TUT

5)这一点不见了  >_<

6)数组开大点不花钱,开小了会抓狂

3kw个int自己把握好

极限空间的题目:http://www.cnblogs.com/radiumlrb/p/5836629.html

7)建议代码  //写上准没错

 #include <cstdlib>
 fclose(stdin);fclose(stdout);

8)自己一定要造几个数据去测试,否则会挂的很惨……

友情推荐cstdlib里面的rand(),查错小能手

9)筛法,素数

 void prime_list(){
     f[]=f[]=;
     f[]=f[]=;//标记0为素数
     ;i<=;i++){
         ){
             ;k<=;k+=i)
                 f[k]=;
         }
     }
 }

10)这一点不见了 QAQ

11)这一点不见了

12)转载的注意点:http://blog.csdn.net/senyelicone/article/details/51588380

13)cstring的

用memcpy复制整块内存 //把f(数组)复制到allin(数组)

memcpy(allin,f,sizeof(f));

用memcmp比较整块内存 //比较goal和s

if(memcpy(goal,s,sizeof(s))==0) return 1;

用memchr查找字符位置 //查找逗号(返回的是指针!!!)

strchr(s,',')

strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

详见这里:http://www.cnblogs.com/radiumlrb/p/5818077.html

14)bfs理论上比dfs快,因为调用递归需要时间

栗子:bzoj 2753: [SCOI2012] 滑雪与时间胶囊 Label:MST

15)注意点

1>代码中不要出现next,否则会编译错误

Tips

//你可以选择把名字起的奇葩一点儿,如果怕有问题可以这样变量名+下划线+你的名字前缀

//e.g. max_lrb