原创 C. Celex Update--------------------------------思維

#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a,b,c,d; int t; int main() { cin>>t; whi

原创 減成一--------------------------------思維(差分)

解析: 題目要求全變爲1,那麼我們改成變成0,所以每個數都-1 然後遍歷,當a[i]>=a[i-1]時 對答案的貢獻就是 a[i]-a[i-1]; #include<bits/stdc++.h> using namespac

原创 Moving stones---------------------------思維(模擬+優先隊列)

題意: 有n堆石頭,現在選擇d第i堆石頭,需要從剩下來的n-1堆中各選出1個,放到第i堆。(沒有的不取) 問最終是否能使得n堆石頭的數量都一樣 解析: 最容易看出來的就是如果n堆石頭之和不能均分,那麼肯定是輸出NO 爲了達到目

原创 C. Johnny and Another Rating Drop----------------------------思維(找規律)

解析: 找規律 對於這種二進制串算貢獻的,一般我們都要按位處理 我們樣例 n=5來說 000 001 010 011 100 101 第0位對答案的貢獻爲:5 也就是(n) 第1位對答案的貢獻爲:2 也就是(n/2) 第2

原创 D. Two Divisors-----------------------------思維(數論+gcd性質+唯一分解定理)

題意: 給定n個數,對於每一個數找到兩個因子d1和d2 d1>1且d2>1 使得gcd(d1+d2,ai)=1 如果沒有就輸出-1 解析: 唯一分解定理 ai=p1q1 * p2q2 * … pnqn d1=p1q1 d2=

原创 D. The Best Vacation----------------------------思維(模擬)

解析: 統計每個字符出現的次數,然後放到set集合中 遍歷set更新答案,如果當前個數x>=*it 更新答案即可 #include<bits/stdc++.h> using namespace std; const i

原创 D. Solve The Maze------------------------------------思維(bfs)

題意: 給定n*m的方格,方格上有牆,空地,好人和壞人,你現在可以在空地上放牆堵住壞人,使得所有好人都能逃脫到(n,m)但是壞人不可以。如果可以輸出YES 如果不行輸出NO 解析: 我們先把壞人用牆給圍住,如果壞人相鄰的有好人

原创 問題 G: 鴿子 (gu)-------------------------思維(二維樹狀數組)

題目描述 一共有n個人依次走進機房,第i個人的實力爲ai。 第i個人在走進機房時,會膜拜當前已經在機房裏的人x,當且僅當ax>ai。 同理,第i個人在走進機房時,會被當前已經在機房裏的人x膜拜,當且僅當ax<ai。 第i個人的音量

原创 C - Multiplication 3-----------------------思維(精度問題)

解析: 需要給B加一個eps 然後擴大100倍 非則會有精度上的問題 #include<bits/stdc++.h> using namespace std; typedef long long ll ; ll a; dou

原创 H. Binary Median------------------------------思維(模擬)

題意: 給定n個二進制串,請問長度爲m的二進制串,刪掉這n個二進制串,中位串(中位數)是哪個 解析: 我們把二進制串全部轉化爲十進制數,那麼長度爲m的二進制串十進制就是0~2^m 什麼都不刪除的情況下 中位數p=(k-1)/2

原创 H - Can you answer these queries? HDU - 4027---------------------線段樹(區間開方)

A lot of battleships of evil are arranged in a line before the battle. Our commander decides to use our secret weap

原创 數獨----------------------------思維(dfs+優化策略)

#include<bits/stdc++.h> using namespace std; const int N=9; char str[N*N+10]; int col[N],row[N],cel[3][3];//col,r

原创 時間管理-------------------------思維(線段樹區間gcd)

解析: 這道題和區間開方很相似。 因爲如果在一個區間內,所有的數都相等,那麼gcd之後也是一樣的,所以我們用個tag標記區間元素是否都相同,再用sag標記如果當前區間都相等元素值是什麼,這樣就可以優化時間 注意:如果一個區間的

原创 打 boss-----------------------------思維

解析: 有一個性質就是A執行了k次,那麼B才執行k-1次 所以我們把A執行幾次算出來。 假設A執行k次 那麼B肯定執行了(k-1).構成自身的傷害爲(k-1)*(atk1-m) 那麼第k次肯定是-atk1 因爲A只能執行k次

原创 Sumo and Virus------------------------------思維(模擬+遞推)

解析: 始終不會寫這類題型的題目!!!!!! 模擬+遞推 第8天開始發病,那麼就要加上第一天的感染人數 第9天開始發病的,那麼就要加上第二天感染的人數+第一天感染的人數 以此類推 那麼遞推方程就是 ans+=a[i-7] 對於