精华内容
下载资源
问答
  • 您返回的结果必须几个个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。 示例 1: 输入:day = 31, month = 8, year = 2019 输出:“Saturday” ...

    题目描述:

    给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。

    输入为三个整数:day、month 和 year,分别表示日、月、年。

    您返回的结果必须是这几个值中的一个 {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”}。

    示例 1:

    输入:day = 31, month = 8, year = 2019
    输出:“Saturday”
    示例 2:

    输入:day = 18, month = 7, year = 1999
    输出:“Sunday”
    示例 3:

    输入:day = 15, month = 8, year = 1993
    输出:“Sunday”

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/day-of-the-week
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    代码:

    class Solution:
        def dayOfTheWeek(self, day: int, month: int, year: int) -> str:
            monthday={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
            week={0:'Friday',1:'Saturday',2:'Sunday',3:'Monday',4:'Tuesday',5:'Wednesday',6:'Thursday',}  #1971.1.1是星期五
            days=0   #记录天数差
            for index in range(1971,year):
                if (index%4==0 and index%100!=0) or index%400==0:#闰年
                    days+=366
                else:#平年
                    days+=365
            if ((year%4==0 and year%100!=0) or year%400==0) and month>2:
                days+=1
            for index in range(1,month):
                days+=monthday.get(index)
            days+=day-1
            return week.get(days%7)
    

    思路:

    我个人认为这个题目比上一次的那个题目稍微难一点,算是那个题目的延申。
    首先确定好是平年还是闰年,之后确定1971.1.1是周五,然后只需要算出指定日期跟1971.1.1的天数差即可。

    展开全文
  • 20152总结

    2015-03-01 16:43:03
    我现在都不能说出哪一天没有完成计划为什么,所以我都不知道从何下手来改进这个问题,30天的计划我只有做过总结。所以下个月起每天务必做总结,分析没有完成的原因。 B.几乎没有分配任何时间给工作以外的...

    【上月遗留问题回顾】

    A.首先没有哪一周、哪一天的计划完成过。我现在都不能说出哪一天没有完成计划是为什么,所以我都不知道从何下手来改进这个问题,30天的计划我只有几天是做过总结。所以下个月起每天务必做总结,分析没有完成的原因。
    B.几乎没有分配任何时间给工作以外的事情。下个月起一定要批注 任务时间。
    C.流程比较麻烦。比如说,日计划完成了A,点勾,需要在周计划中也点勾,如果周计划的A来源于年度计划,又得去年度计划里打钩。不是很科学,但这问题暂时不严重,懒得去思考解决方案了。我估计逐渐得开始改变计划工具了~

    对于A,还是没有哪一周、哪一天完全完成过,不过有所提升。我开始把每日总结当任务,前两周坚持了,感觉效果很好。接下来会继续坚持。
    这里写图片描述

    对于B,没有照做,但是做了很多工作以外的事,比如读书、弹吉他之类的。但是由于假期的特殊性,这并不能说明我正常工作之后能够顾及到这些事情。接下来的解决方案再看。

    对于C,由于受不了evernote 在mac上同步bug 以及 笔记本来回切换 耽误的时间,还是换了工具:奇妙清单。的确提升了很多效率,等再实践一段时间就给大家分享这款工具。

    【本月总结】

    总的来说这个月计划完成情况糟透了,三分之二的计划没有完成。

    因为花了太多时间(2周)和亲朋聚会玩耍~而这是出于两方面考虑,一方面是我希望能和亲朋聊聊天,另一方面是相比完成那些复杂的计划,聊天、玩耍当然要轻松愉悦得多。

    那么以后假期该怎么办呢?

    一种解决方案是只制定一些轻松的计划,毕竟假期放松放松也是理所当然的。

    如果非得想完成那些复杂的计划,另一种解决方案是,提高自制力。

    于是我针对“如何提高自制力” 在知乎上寻求解决方案。
    http://www.zhihu.com/question/20392696/answer/14997387

    这里写图片描述

    知友warfalcon的回答感觉很赞,我把其中我认为有价值的提炼一下大概如下:

    1.拉队友,互相督促(个人觉得这是很聪明的做法,就像平时在团队里做事会顺利得多,但是与自制力无关吧?)
    2.做了计划,如果中途被打断,不要就全盘放弃了,保持平常心。可以适当对计划做调整。

    总结一下,我更倾向于第一种解决方案,基于计划的合理性做调整。
    说不定暑假的时候态度又变了~~

    【遗留问题清单】

    1.计划完不成。。。这特么会是恒久的问题吧。
    现在的手段是:尽量减少计划(比如去掉了看大牛博文和英文博文);先完成原计划,再处理新计划;给计划分配时间。
    手段有效性待验证待验证。。。

    最后点个赞,我爱markdown!

    展开全文
  • 7.支持近三、近一个月、阅读次数、日期视图、问答学习等来复习收藏的资料为自己的知识 8.支持用Word来收集网页,这PinPKM 的独门武功 9.知识库的容量仅受硬盘大小限制,采用分散文档保存来确保文档不受损 10....
  • 2019山东省赛

    2019-05-21 17:13:00
     题目一年有12个月,每个月是30天周五天。现在给你个日期和当天是星期,要你求给出的第二个日期是星期。 题解:  因为每个月是30天,每周都是5天,所以每个月同一号对应的星期都是相同的。...

    A.ZOJ4113 Calandar

    题意:

      题目中一年有12个月,每个月都是30天,一周五天。现在给你一个日期和当天是星期几,要你求给出的第二个日期是星期几。

    题解:

      因为每个月都是30天,每周都是5天,所以每个月同一号对应的星期几都是相同的。比如1年1月1日是星期一,不管是哪年哪月的1号都是星期一。所以只要计算两个日期的日这一栏相差多少输出对应的星期几就行了。

    代码:

    #include <cstdio>
    #include <cstring>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    const int N = 200000 + 5;
    const ll INF = 1e18;
    int T;
    char xq[5][30] = {"Monday","Tuesday","Wednesday","Thursday","Friday"};
    int main() {
        for (scanf("%d",&T); T--;) {
            int y1,m1,d1,y2,m2,d2;
            char s[30];
            scanf("%d%d%d%s%d%d%d",&y1,&m1,&d1,s,&y2,&m2,&d2);
            int pos;
            for (int i = 0; i < 5; i++) {
                if (strcmp(xq[i],s) == 0) {
                    pos = i;
                    break;
                }
            }
            if (d1<=d2) {
                printf("%s\n",xq[(pos+(d2-d1))%5]);
            }else {
                printf("%s\n",xq[(pos+30 - (d1-d2))%5 ]);
            }
        }
        return 0;
    }
    View Code

     

    B.ZOJ4114 Flipping Game 

    题意:

      有n个开关对应n盏灯,按顺序给出每盏灯的初始状态和目标状态,游戏有k轮,每轮可以按m个不同的开关各一次。问你方案数。

    题解:

      一看题就想到用组合数,但是没想好怎么计算。

      我们可以用一个二维dp[i][j] ,表示第i轮有j个状态与目标状态不同的灯的方案数。每一轮我们可以选x个与目标状态不同的灯,y个与目标状态相同的灯:x ≤ j,y ≤ n-j,x+y = m,按了之后与目标状态不同的灯的数量为 j - x + y。

      那么可以得到状态转移方程为:dp[i+1][j-x+y] = dp[i+1][j-x+y]  + dp[i][j]*C(j,x)*C(n-j,y)

    代码:

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    const int N = 100 + 5;
    const ll mod = 998244353;
    const ll INF = 1e18;
    int T;
    char s1[N],s2[N];
    ll inv[N],fac[N],inv_fac[N],dp[N][N];
    void init()
    {
        inv[0]=inv[1]=inv_fac[0]=fac[0]=1;
        for(int i=2; i<N; i++) inv[i]=inv[mod%i]*(mod-mod/i)%mod;
        for(int i=1; i<N; i++) fac[i]=fac[i-1]*i%mod;
        for(int i=1; i<N; i++) inv_fac[i]=inv_fac[i-1]*inv[i]%mod;
    }
    ll C(int n,int m)
    {
        return fac[n]*inv_fac[m]%mod*inv_fac[n-m]%mod;
    }
    int main() {
        init();
        for (scanf("%d",&T); T--;) {
            int n,m,k,num=0;
            scanf("%d%d%d%s%s",&n,&k,&m,s1,s2);
            for (int i = 0; i < n; ++i) {
                if(s1[i] != s2[i]) num++;
            }
            memset(dp,0,sizeof(dp));
            dp[0][num] = 1;
            for (int i = 0; i < k; ++i) {
                for (int j = 0; j <= n; ++j) {
                    if (!dp[i][j]) continue;
                    for (int x = 0; x <= j; ++x) {
                        int y = m - x;
                        if (y<0||y>(n-j)) continue;
                        dp[i+1][j-x+y] = (dp[i+1][j-x+y]+dp[i][j]*C(j, x)%mod*C(n-j,y)%mod)%mod;
                    }
                }
            }
            printf("%lld\n",dp[k][0]);
        }
        return 0;
    }
    View Code

     

     

    C:ZOJ4115 Wandering Robot 

    题意:

      有一个机器人,可以上下左右走,它一开始在(0,0),给你一个由UDLR组成的长度为n的序列,表示机器人走的路线,机器人沿这个路线走k次。问你机器人从第1步到n*k步的过程中离原点曼哈顿距离最大是多少。

    题解:

      我们可以知道这个过程中离原点曼哈顿距离最大的点不是在第1轮就是在第k轮(没考虑在第一轮wa了),在第一轮时每走一步就判断一下最远曼哈顿距离,走完一轮后的点乘以k-1就得到了最后一轮的起点,然后再从这个点开始走第k轮,每一步判断一下。

    代码:

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    const int N = 1e5 + 5;
    const ll INF = 1e18;
    int T;
    char s[N];
    int main() {
        for (scanf("%d",&T); T--;) {
            int n;
            ll k,ex=0,ey=0,maxd=0;
            scanf("%d%lld%s",&n,&k,s);
            for (int i = 0; i < n; ++i) {
                if (s[i]=='U') ey++;
                if (s[i]=='D') ey--;
                if (s[i]=='L') ex--;
                if (s[i]=='R') ex++;
                maxd=max(maxd,abs(ex)+abs(ey));
            }
            k--;
            ex *= k;
            ey *= k;
            maxd=max(maxd,abs(ex)+abs(ey));
            for (int i = 0; i < n; ++i) {
                if (s[i]=='U') ey++;
                if (s[i]=='D') ey--;
                if (s[i]=='L') ex--;
                if (s[i]=='R') ex++;
                maxd=max(maxd,abs(ex)+abs(ey));
            }
            printf("%lld\n",maxd);
        }
        return 0;
    }
    View Code

     

     

    D:ZOJ4116 Game on a Graph 

    题意:

      有k个人,编号为0~k-1,分1、2两个阵营。有一个n个点m条边的无向连通图,k个人从0号开始依次从图中删一条边,谁删了边之后使这个图不连通,那么对方阵营就赢了,输出赢的阵营。

    题解:

      n个点的无相连通图最少有n-1条边,所以谁删了边之后只剩n条边,那么对方阵营胜利。

    代码:

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    const int N = 1e5 + 5;
    const ll INF = 1e18;
    int T;
    char s[N];
    int main() {
        for (scanf("%d",&T); T--;) {
            int n,m,k,u,v;
            scanf("%d%s%d%d",&k,s,&n,&m);
            for (int i = 0; i < m; i++) scanf("%d%d",&u,&v);
            if (s[(m-n+1)%k] == '1') printf("2\n");
            else printf("1\n");
        }
        return 0;
    }
    View Code

     

     

    F:ZOJ4118 Stones in the Bucket

    题意:

      有n堆石子,每堆石子有ai个,你现在可以任选一堆非空的拿掉一个石子或者给其他堆一个石子,问最少需要进行几次操作使得每堆石子数量相等。

    题解:

      显然最后每堆石子的数量都是sum/n(整数除),我们只要计算每一堆要减去的和就行了。哪一堆少了的话可以从多了的补。

    代码:

    #include <cstdio>
    #define ll long long
    using namespace std;
    const int N = 1e5 + 5;
    const ll INF = 1e18;
    int T;
    ll a[N];
    int main() {
        for (scanf("%d",&T); T--;) {
            int n;
            ll sum = 0;
            scanf("%d",&n);
            for (int i = 0; i < n; ++i) {
                scanf("%lld",&a[i]);
                sum += a[i];
            }
            sum/=n;
            ll num1 = 0;
            for (int i = 0; i < n; i++) {
                if (sum < a[i]) num1 += a[i]-sum;
            }
            printf("%lld\n",num1);
        }
        return 0;
    }
    View Code

     

     

    M:ZOJ4125 Sekiro

    题意:

      给你一个n,每次减去它的一半(向下取整),问执行k次之后n是多少

    题解:

      如果n是0,那么结果就是0,否则n最多减32,它最后变为1,1-1/2=1。直接暴力算就行了。

    代码:

    #include <cstdio>
    #include <cstring>
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    const int N = 200000 + 5;
    const ll INF = 1e18;
    int T;
    int main() {
        for (scanf("%d",&T); T--;) {
            int n,k;
            scanf("%d%d",&n,&k);
            for (int i = 0; i < k; ++i) {
                n -= n/2;
                if (n==0||n==1) break;
            }
            printf("%d\n",n);
        }
        return 0;
    }
    View Code

     

    转载于:https://www.cnblogs.com/l999q/p/10901014.html

    展开全文
  • 在以后30年中汽车毫无疑问会有重大变化。它应该变得更小、更安全和更经济,而且不应当由汽油发动机驱动。未来的汽车应当比现在的汽车更无污染。 无论用什么能源,将来的汽车都将依然城市交通拥挤的主要问题。对...
  •  实例077 使用正则表达式验证一个月的31 93  实例078 使用正则表达式验证数字输入 94  实例079 使用正则表达式验证密码长度 95  实例080 使用正则表达式验证非零的正整数 96  实例081 使用正则表达式验证...
  • 给定从公元200011日开始逝去的天数,你的任务给出这一天是哪年哪月哪日星。 输入数据 输入包含若干行,每行包含一个正整数,表示从200011日开始逝去的天数。输入最后−1, 不必处理。可以假设...
  • ✅ 温故知新:温故知新 是一个帮助你重温或者整理书签的 Chrome 浏览器插件 - 更多介绍 20191113号添加 周利刚(杭州) ✅ xCoins:迭代比特币私钥,汇总用户币的总价值 ✅ 足迹中国:用地图截图记录你去过...
  •  -> 3 DAYOFYEAR(date) 返回 date 是一年中的第几天,范围为 1 到 366: mysql> SELECT DAYOFYEAR(’1998-02-03’); -> 34 MONTH(date) 返回 date 中的月份,范围为 1 到 12: mysql> SELECT...
  • 疯狂的程序员

    热门讨论 2012-07-18 18:05:32
    一个月下来,绝影陪了15块钱。土匪他们卖掉100多根笔芯。绝影还是觉得他算赢了。因为他做了2笔业务。 这个月,他跟广告公司那两人也混熟了些。那两人原来一对,男的以前在她学校教书,女的就是他学生。后来因为她...
  • 万维网至关重要的概念超文本起源于1960年代的几个从前的项目。譬如泰德·尼尔森(Ted Nelson)的仙那都项目(Project Xanadu)和道格拉斯·英格巴特(Douglas Engelbart)的NLS。而这两个项目的灵感都来源于...
  • 大话数据结构

    2018-12-14 16:02:18
    这样,所谓的判断某一年是否闰年就变成了查找这数组的某项的值多少的问题。 2.13总结回顾 37 2.14结尾语 38 愚公移山固然可敬,但发明炸药和推土机,可能更加实在和聪明。 第3章线性表 41 3.1开场白 42 ...
  •  性能问题最近几年来DBA们越来越关注的一个数据库技术领域,归根结底,造成它的原因最近几年信息化进程的飞速发展,导致了很多系统的用户数量猛增,数据库存储的数据量亦成几何级数激增,数据库作为数据处理...
  • @作业本当时的粉丝数已有30多万,“怀孕”更杜蕾斯这品牌必然要捕捉的关键词,两条件吻合,使得@作业本那条“今晚一点前睡觉的人,怀孕”自然就会进入运营团队的视野。 当然这也离不开时间点的偶然,@作业本...
  • @作业本当时的粉丝数已有30多万,“怀孕”更杜蕾斯这品牌必然要捕捉的关键词,两条件吻合,使得@作业本那条“今晚一点前睡觉的人,怀孕”自然就会进入运营团队的视野。 当然这也离不开时间点的偶然,@作业...
  • Visual Studio程序员箴言--详细书签版

    热门讨论 2012-10-16 20:37:39
    技巧4.14 只取消组工具窗口中一个窗口的停靠 81 技巧4.15 将工具窗口停靠在IDE顶部 82 技巧4.16 以新奇而疯狂的方式,使用停靠目标来停靠工具窗口 82 4.2.2 自动隐藏状态 83 技巧4.17 使用条命令自动...
  • 9、今天20088月8日,北京奥运会进入整一年倒计时的第一天,同时我们这中国矿大2004届的大三同学留在母校最后11个月的开端,在做了相关工作后择取今日发布这个版本,有它的特殊意义,我以这样的方式来...
  • 这部电子书凭什么短短几个月全网累计下载突破16万? 更正《深入理解高并发编程(第1版)》处错误! 冰河写的这部《深入理解高并发编程》电子书全网已累计下载15W+!! 高并发场景下如何优化服务器的性能? ...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 ...第部分 C#语言概述.4 ... 2000 6 ...
  • 这里的IDE设备包括了IDE硬盘和IDE光驱,第、第二组设备指主板上的第、第二根IDE数据线,一般来说靠近芯片的组IDE设备,而主设备、从设备指在条IDE数据线上接的两设备,大家知道每根数据线上可以接...
  • C#微软培训资料

    2014-01-22 14:10:17
    <<page 1>> page begin==================== 目 目目 目 录 录录 ... 2000 6 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天一天 微软公司正式推出了其下一代...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

一年中哪几个月是30天