【NOIP2016】迴文日期
題目描述
在日常生活中,通過年、月、日這三個要素可以表示出一個唯一確定的日期。牛牛習慣用8位數字表示一個日期,其中,前4位代表年份,接下來2位代表月 份,最後2位代表日期。顯然:一個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,一個日期是迴文的,當且僅當表示這個日期的8位數字是迴文的。現 在,牛牛想知道:在他指定的兩個日期之間包含這兩個日期本身),有多少個真實存 在的日期是迴文的。一個8位數字是迴文的,當且僅當對於所有的i ( 1 <=i<= 8 )從左向右數的第i個 數字和第9-i個數字(即從右向左數的第i個數字)是相同的。
例如:
•對於2016年11月19日,用8位數字20161119表示,它不是迴文的。
•對於2010年1月2日,用8位數字20100102表示,它是迴文的。
•對於2010年10月2日,用8位數字20101002表示,它不是迴文的。
每一年中都有12個月份:
其中,1、3、5、7、8、10、12月每個月有31天;4、6、9、11月每個月有30天;而對於2月,閏年時有29天,平年時有28天。
一個年份是閏年當且僅當它滿足下列兩種情況其中的一種:
1.這個年份是4的整數倍,但不是100的整數倍;
2.這個年份是400的整數倍。
例如:
•以下幾個年份都是閏年:2000、2012、2016。
•以下幾個年份是平年:1900、2011、2014。
輸入格式:
輸入包括兩行,每行包括一個8位數字。第一行表示牛牛指定的起始日期。第二行表示牛牛指定的終止日期。保證date_i和都是真實存在的日期,且年份部分一定為4位數字,且首位數字不為0。
保證date1 —定不晚於date2。
輸出格式:
輸出一行,包含一個整數,表示在date1和date2之間,有多少個日期是迴文的。
樣例1輸入:
20110101
20111231
樣例1輸出:
1
樣例2輸入:
20000101
20101231
樣例2輸出:
2
【樣例說明】 對於樣例1,符合條件的日期是20111102。 對於樣例2,符合條件的日期是20011002和20100102。 【子任務】 對於60%的資料,滿足date1 = date2。 ------------------------------------------------------------------------- 這本是一道比較簡單的題。但由於我考試時把程式碼寫複雜了,結果測民間時只得了60分(實際上就是可以騙的那一部分) 後來一想,可以不用對字串本身進行處理,我們可以將給定的數字拆成年月日的形式,之後的實現就簡單多了。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
相關推薦【NOIP2016】迴文日期題目描述 在日常生活中,通過年、月、日這三個要素可以表示出一個唯一確定的日期。牛牛習慣用8位數字表示一個日期,其中,前4位代表年份,接下來2位代表月 份,最後2位代表日期。顯然:一個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,一個日期是迴文的,當且僅當表示這個日期的 【LeetCode】 【dp】 迴文系列以下幾題: Leetcode 9. Palindrome Number 給定一個數字,判斷數字是否為迴文數字。 Determine whether an integer is a palindrome. An integer is a palind 演算法筆記 — 【字串】迴文串題目連結:http://www.codeup.cn/problem.php?cid=100000580&pid=8 題目描述 讀入一串字元,判斷是否是迴文串。“迴文串”是一個正讀和反讀都一樣的字串,比如“level”或者“noon”等等就是迴文串。 輸入 【LeetCode】迴文數判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴 【APIO2014】—迴文串(迴文自動機)傳送門 迴文自動機簡單題 因為不想學字尾自動機做法,於是去大概把迴文自動機學了 感覺比字尾自動機簡單多了啊 很顯然就是 f a 【leetcode】迴文連結串列(Palindrome Linked List)【python】三種方法題目連結 時間複雜度O(N),空間複雜度O(N) class ListNode: def __init__(self, x): self.val = x se 【APIO2014】迴文串 jzoj 3654/洛谷 3649/bzoj 3676 迴文樹(迴文自動機)題目 考慮一個只包含小寫拉丁字母的符串 s。我們定義 s的一個子串 t的“出現值”為 t在 s中的出現次數乘以t的長度。 請你求出s的所有迴文子串中的最大出現值。 分析 迴文樹(迴文自動機)模板題 迴文樹連結———連結 還有後綴自動機的寫法,但是我 【DP】迴文的最小分割數題目描述 Given a string s, partition s such that every substring of the partition is a palindrome. Retur 【蘑菇街】迴文串題目描述 給定一個字串,問是否能通過新增一個字母將其變為迴文串。 輸入描述: 一行一個由小寫字母構成的字串,字串長度小於等於10。 輸出描述: 輸出答案(YES\NO). 示例1 輸入 複製 coco 輸出 複製 YES #include "std 【LeetCode 9】迴文數題目 判斷一個整數是否是迴文數。 迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 輸入: 121 輸出: true 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。 輸 【每日leetcode】迴文數判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解 【最長迴文子序列】hihocoder1032 C++問題描述 Time Limit:1000ms Case Time Limit:1000ms Memory Limit:256MB 小Hi和小Ho是一對好朋友,出生在資訊化社會的他們對程式設計產生了莫大的興趣,他們約定好互相幫助,在程式設計的學習道路上一同前進。 HDU4745 Two Rabbits【最長迴文子序列 區間DP】Two Rabbits Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 2479 Accepted Su 2018.12.20【APIO2014】【BZOJ3676】【洛谷P3649】迴文串(迴文自動機PAM)BZOJ傳送門 洛谷傳送門 解析: PAM裸題,當然SAM也可以做。 先建立出PAM,同時每次更新last節點的cnt,然後再在fail樹上一路向上跳同時上傳cnt就行了。 程式碼: #include<bits/stdc++.h> usin 【動態規劃 迴文串13】LeetCode 647. Palindromic SubstringsLeetCode 647. Palindromic Substrings Solution1:我的答案 動態規劃,易解 class Solution { public: int count 【2019 1月集訓 Day1】迴文的字尾題意: 給定 n,s,求有多少個字符集大小為 s ,長度為 n 的字串,使得其不存在一個長度大於 1 的迴文字尾。 答案對 m 取模。 分析: 考場見到計數題的鏈式反應,想寫暴力—>暴力難寫—>不會暴力—>棄療—>爆零。 今天考試也不例外。但是逐漸思想過於摸化 【學習筆記】迴文自動機依舊是後面再補上講解吧希望我不要忘記惹。。。。 本質是一顆trie,節點代表了迴文的一半; 自動機節點維護長度和最大回文字尾的fail指標; 奇數迴文的根長度為-1,編號1,偶數0,1;(編號是有藝術的) 插入沿著上一個點找是否有匹配的迴文; 注意如果要新建節點的話應該再找新建點的fail,繼續想上 Palindromic Tree——迴文樹【處理一類迴文串問題的強力工具】今天我們來學習一個神奇的資料結構:Palindromic Tree。中譯過來就是——迴文樹。 那麼這個迴文樹有何功能? 假設我們有一個串S,S下標從0開始,則迴文樹能做到如下幾點: 1.求串S字首0~ 【藍橋杯】迴文數字#include <iostream> #include <algorithm> #include <vector> #include <sstream> #include <math.h> using 【清華集訓2017模擬12.10】迴文串(迴文樹+樹鏈剖分)Description: NYG 很喜歡研究迴文串問題,有一天他想到了這樣一個問題: 給出一個字串 S,現在有 4 種操作: • addl c :在當前字串的左端加入字元 c; • addr c :在當前字串的右端加入字元 c; • transl l |