zoukankan      html  css  js  c++  java
  • 集训第三周

    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;
     
  • 相关阅读:
    SerializationUtility
    ExtendHelper
    AutoTransformHandler
    Parameter Config
    Tools Function
    谈谈对C#中反射的一些理解和认识(上)
    WPF程序中App.Config文件的读与写
    WPF实现Windows资源管理器(附源码)
    安装VC++2015运行库时出现0x80240037错误
    对C#调用C++的dll的一点思考
  • 原文地址:https://www.cnblogs.com/liun1994/p/3268408.html
Copyright © 2011-2022 走看看