码迷,mamicode.com
首页 > 其他好文 > 详细

【USACO】第一章总结

时间:2014-05-19 22:03:31      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   c   code   java   

做了大半个月,终于把第一章做完了

bubuko.com,布布扣

有的题遇到了不小的坎儿,看着网上一群高中生都做得那么好,心理还是有些小郁闷的。不禁感慨我过去的四年真是虚度啊。总结一下第一章学习到的知识吧。

①闰年判断

bubuko.com,布布扣
int isleapyear(int N)
{
    if((N%100 != 0 && N%4 ==0) || (N%400 == 0))
        return 1;
    else
        return 0;
}
bubuko.com,布布扣

计算闰年日期时可以用两个数组存放每个月的时间

bubuko.com,布布扣
int Year[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int LeapYear[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bubuko.com,布布扣

②排序

从小到大排序(vector.sort)

bubuko.com,布布扣
bool lessmark(const  TIME& s1,const TIME& s2)   
{   
    return   s1.start <   s2.start;   
} 
bubuko.com,布布扣

qsort

bubuko.com,布布扣
int cmp(const void *va, const void *vb)   //从大到小
{
    return (*(int *)va) - (*(int *)vb);
}


int cmp2(const void *va, const void *vb) //从小到大
{
    return (*(int *)vb) - (*(int *)va);
}
bubuko.com,布布扣

③素数判断

bubuko.com,布布扣
int isprime(int N)
{
    int i;
    if(N == 2)
        return 1;
    for(i = 2; i * i <= N; i++)
    {
        if(N % i == 0)
            return 0;
    }
    return 1;
}
bubuko.com,布布扣

 

编程上面,我总是习惯什么都不想直接凭直觉上手编程,遇到理不清楚的地方再停下来。练了些题后发现这样不好,应该在遇到问题时先仔细的分析一下,想好一个解决策略再上手遍,速度会快很多。在写遍历程序时要考虑好遍历的变量是什么,比如倒水问题是所有可能的状态,最长回文是回文的中心点。还有,要考虑怎样边读取数据边处理,我的习惯是先把所有的数据存起来,需要大量的内存。其实很多问题并不需要存储所有数据,取一个分析一个就好,比如namenum、numtri。还有的问题不需要整体考虑,分别在局部考虑即可,如beads.

【USACO】第一章总结,布布扣,bubuko.com

【USACO】第一章总结

标签:style   blog   class   c   code   java   

原文地址:http://www.cnblogs.com/dplearning/p/3731457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!