原创 【NOIP模擬賽】指引

題解: 主要是要發現貪心的策略,就是對x進行排序,對每一個門從小到大遍歷,然後把滿足條件的人加進來,然後選出最高的那個可以手模證明一下 #include<bits/stdc++.h> using namespace std

原创 【NOIP模擬賽】tree

題解: 這道題首先先找出最短路,再尋找過程中保存所有可以進入該點並對該點可以貢獻最短路的個數,然後再根據乘法原理將所有的乘起來就OK了 #include<bits/stdc++.h> #define M 2147483647 u

原创 【NOIP模擬賽】盟主的憂慮

題解: 顯然任意所求路徑就只經過一條密道,然後呢,畫圖發現就是一個個環,然後可以用並查集來維護屬於一個環或者是直接賦值 #include<bits/stdc++.h> using namespace std; long long

原创 【NOIP模擬賽】輕功

Description 題目背景: 尊者神高達進入了基三的世界,作爲一個 mmorpg 做任務是必不可少的,然而跑地圖卻令人十分不爽。好在基三可以使用輕功,但是尊者神高達有些手殘,他決定用梅花樁練習輕功。 題目描述: 一共有 n

原创 【NOIP模擬賽】逛公園

題解: 這道題就很奇妙了啊,據說正解是什麼分塊來着,不過我貪心算一下貢獻就過了。只需要算區間中每個點對答案的貢獻就行了 #include<bits/stdc++.h> using namespace std; int n,q;

原创 【NOIP模擬賽】最大跨距

hash加貪心就行了 #include<bits/stdc++.h> #define M 10007 #define MOD 1000000007 using namespace std; long long s[100005]

原创 【NOIP模擬賽】積木大賽

題解: 二分高度,去算是否存在這樣的高度出現再判斷與m的大小關係 #include<bits/stdc++.h> using namespace std; long long n,m,maxx; long long a[10000

原创 【NOIP模擬賽】a

題解: 一看值就只有1/0兩種那麼就可以把求個數轉換爲求和; 首先很容易想到先預處理從(0,0)到(i,j)的所有矩陣值,然後枚舉左上端點,求出新的矩陣,滿足條件就加加,但是呢複雜度是O(nnm*m)的顯然過不了,那麼我們再觀察

原创 【NOIP模擬賽】b

題解 問題可以轉化成在i∈[1,105]i∈[1,105]中,gcd=i的方案數。 在轉化一下,可以先求i|gcd的方案數, 然後再來容斥一發。 設fi,jfi,j表示在第i個序列中,j的倍數有多少個, 那麼i|gcd的方案數就

原创 【NOIP模擬賽】咖啡供應

題解: 先跑遍dfs從深度最高點出發任何修改他的父親節點,向上走就減減,那麼發現減到-K那麼顯然必須放一個coffee,最後再特判一下1爲不爲-或者沒走到過 #include<bits/stdc++.h> using names

原创 旅程

旅程 題解: 這道題可以先預處理每個點的迪傑斯特拉也可以最後來做,然後呢通過迪傑斯特拉找出A-B的路徑,然後呢給這些路徑打上A的標記,方便後面的刪除,後面的刪除就只需要把經過這條邊的所有起點再跑一次 #include<bits/

原创 NOIP 模擬題 奶牛抗議

題解: 這道題一看就不難得出這是一道dp題,設sum[i]是a[1]-a[i]的和,那麼顯然可得當sum[i]-sum[j]>=0時dp[i]可以從dp[j]處轉移,那麼就把所有滿足條件的dp[j]加起來。於是乎可得方程dp[i

原创 妹子

妹子 題解: 如果不考慮旋轉的話就只有七十分,所以想要A掉就必須考慮旋轉之後塞進去 #include<bits/stdc++.h> using namespace std; const double pie=acos(-1);

原创 正睿OIday8-day10

day8-day10 前幾天忘寫了,遭到宋大佬全國追債,現在纔來補上(哭笑)。 這幾天都在打比賽,覺得天天都只能打個暴力,打打樹啊打打模擬之類的,騙分,不過除了第一天掉了一百三十多rating,後面都在漲(不過還是點點點點漲)只有

原创 正睿OIday3總結

day3 今天學了容斥原理,公式一大串,極其複雜,不過呢還好原來學過理解不是很困難,不過呢,當講題的時候運用的容斥原理就難以理解了,因爲他很多時候就直接跳過了容斥那一步,直接用結論,記憶比較深刻的就是用容斥求歐拉函數,直接就套上了