zoukankan      html  css  js  c++  java
  • 小技巧集合

    1.无论一个字母是大写还是小写,(?&31)就是它在字母表中的位置。这种简便的方法可以用于 有关篡位 的题,例如:Vigenère 密码。

    2.十进制转R进制 ,R 为负数,还是按照常规的操作,要注意一点:

    当余数<0,则商+1,余数+|R|

    代码:

            k=x%r;余数
            x=x/r;if(k<0){
                x++;
                k-=r;
            }        

     3.原来一直以为long long int 比 int 慢不了多少,当我真正因为long long int 被卡时间的时候才发现,两者时间相差真的很多...

    4.long double 比 long long int 要大...

    5.n个点的不同形态的无根树个数是n^(n-2),N个点的无根树的生成方式有(n-1)!种。

    6.观察一下

    1^1=0   0^0=0  
    
    1^0=1   1^1=0

    结论:相同为0,不同为1.

    性质:

    a^b=b^a   (a^b)^c=a^(b^c)
    
    a^b^b=a   a^0=a

    7.求从(1-->n)或(0-->n)的异或和:

    n%4==0  ans=n;
    
    n%4==2  ans=n+1;
    
    n%4==1  ans=1;
    
    n%4==3  ans=0; 

    8.求下一个排列:

    在<algorithm>库中

    next_permutation(a+1,a+n+1);

    求上一个排列:

    prev_permutation

    9.记录所有在a--->b最短路路径上的点。

    for(R int j=1;j<=n;j++)
    
    if(f[a][b]==f[a][j]+f[j][b])
    
    ans[++cnt]=j;

    可以保证若满足这个等式,J必定在A--->B的最短路上。

     

    10.异或的一些性质:

    (1)如果A>=B,那么A-B<=A^B.

    11.如果要判断一个二进制数是否有两个数相邻,只需要左移或者右移即可。

    如果要判断两个二进制数是否有相邻位同为1,左移和右移都需要~ 

  • 相关阅读:
    去除安卓apk中的广告
    公司固定资产管理细则
    固定资产基础知识
    C#的WebBrowser操作frame
    C#程序集版本控制文件属性祥解
    c#使用RSA进行注册码验证
    Web前端开发十日谈
    Web.xml配置详解
    IBM WebSphere MQ的C#工具类以及源码(net)
    Castle IOC FOR MVC 使用方法
  • 原文地址:https://www.cnblogs.com/sky-zxz/p/9727413.html
Copyright © 2011-2022 走看看