• 集训第三周


    1:多组输入的处理方法有很多,一般都是!=EOF !=NULL;在循环里面加入if(n==0)break;如果是要以回车结束。用gets输入while(gets(str),str[0]);用scanf输入scanf("%c",&c);if(c!='');

    2:sscanf()可用可用来分割类似的字符串;2006:03:18.sscanf("2006:03:18","%d:%d:%d",a,b,c);

    3:100W内最大的素数999983;

    4:判断雪花是否顺时针相同两层循环加个取余操作;以后做题,带有循环判断性质的想到取余。

    如果是逆时针 改成b[(12-(i+j))%6];

    for(i=0;i<6;i++)

    {

      for(j=0;j<6;i++)

      {

        if(a[j] != b[(i+j)%6]);

      }

    }

    5:在用VC的时候如果for循环下面就一个语句我们很容易不加{}但是千万要看明白在那个地方右括号,因为他的对齐方式不一样,尤其是在写if判断的时候。抄别人的代码也得看清楚啊,老错多不好。

    6:堆操作。

    堆是一种特殊的二叉树,堆的意义在于最快的找到最大/最小值。堆得几种操作如下:
    1:make_heap(Q,Q+m);其中Q是数组;
      把一串数组建成堆,时间复杂度为线性;
    2:push_heap(Q,Q+m);
      用于将Q的最后一个元素加入堆中,并使整个区间成为一个新堆,注意前提是最后一个元素除外的所有元素已经是一个堆了。
    3:pop_head(Q,Q+m);
      用于弹出区间的第一个元素,并把它放到区间的最后一个位置,然后重新将前面的元素建成堆。
    4:is_heap();用于判断一个区间是否为一个堆,可以在push_heap之前使用,确保区间已经成为一个堆。
    7:优先队列的用法:
      # include<queue>  
    priority_queue<int> q1; //优先队列中的结点为整型数据。
    优先队列默认数据大的优先级别高即:数据大的总是在对头,可以用pq.top()访问。
    加入数据时也会对数据做动态的调整。
    priority_queue<node> q2; //优先队列中的结点为自定义类node对象;
    struct node
    {
     friend bool operator< (node n1,node n2)
     {
      if(n1.a!=n2.a) return n1.a <n2.a;
      return n2.b<n1.b;
     }
     int a;
     int b;
    }my[6];
    priority_queue<int,vector<int>,greater<int>> q1;数据小的优先级高;
    第二个参数为容器类型,第三个参数为比较函数。
    priority_queue<int,vector<int>,less<int> > q2;数据大的优先级高。
    8:a-z,A-Z个字符怎么存储,直接int a[100];a['a'],a['A'],来存储,这样转化成了int型,可以方便的进行数量统计,大小操作;此时数组的下标就代表是哪个字母,那么整形数组可以记录这些字母出现的个数。
    字符串不一定都用%s输入,while(scanf("%c",c)&&c!=' ')也可以实现。
     9:二维字符数组全部初始化可不指定第一个下标:char str[][100]={"asdf","asdfa"};
    这样代表只有两个数据,这种初始化也经常用到。
    10:实型数四舍五入的做法:已知实型数a,那么它的四舍五入值。
    int x=a;
    if(a-x>=0.5)
      x=x+1;其中便保存了a的四舍五入的值,这是因为int是取整操作。
    11: 在出现整形,实型混杂的题目中,一定要在整数后面添加0.00;
     
  • 相关阅读:
    微信小程序里使用 Redux 状态管理
    ES6基础
    微信小程序入门
    Redis 安装
    ServiceStack.Redis 使用
    改善C#程序,提高程序运行效率的50种方法
    Jquery Ajax调用aspx页面方法
    WebAPI创建
    Find the Difference -- LeetCode
    Encode and Decode Strings -- LeetCode
  • 原文地址:https://www.cnblogs.com/liun1994/p/3268408.html
Copyright © 2020-2023  润新知