題意:這個題意就是給你乙個錯誤的排序方式,要求你在它的這個排序方式下判斷是否存在正確的執行結果。若存在正確的結果,則輸出-1,否則輸出乙個例子說明是錯誤的。題目的輸入是元素的個數n。
題解:這一題比較有意思,很容易判斷出只有當n=1 or n=2時執行結果是正確的,其餘的情況都是錯誤的。這樣我們就構造出乙個序列出來就可以了。
**:
#include#include#include
#include
#define ll long long
using
namespace
std;
intmain()
else}}
return0;
}
題意:這一題的大概意思是給你乙個長度為n的int序列。你可以選擇其中任意兩個數對其分別進行+1和-1操作,問在進行若干次後,最多可存在多少個相同的數。
題解:對同乙個陣列裡面的兩個元素進行+1和-1操作,很容易想到的一點是它的元素和總是一定的,這是乙個突破點。這裡我們判斷元素的和是否能被n整除,如果能,則最多的個數就是n(說明一定存在某種方式將所有的元素變為一樣的),如果不能,就肯定存在乙個餘數,這時,我們就可以捨去這個元素,對其他的元素進行操作。則此時的元素個數就是n-1。
**:
#include#include#include
#include
#define ll long long
using
namespace
std;
intmain();
int sum=0
;
for(int i=0;i)
if(sum%n==0
)else
return0;
}
題意:這一題的大概意思是k個人平均分n*k個橘子,特別的是每個人都有它們各自必須必須需要的乙個橘子,其他的沒有要求。
題解:這一題也是比較簡單的(悔不當初),
**:這裡我們只需要用乙個vis陣列記錄一下哪乙個橘子被分了就可以,然後依次輸出應有數量的橘子即可(同時特別關注該人特別需要橘子的編號這個需要特別判斷一下)。
**:
#include#include#include
#include
#define ll long long
using
namespace
std;
intmain();
int vis[1000]=;
intt;
for(int i=0;i)
int len=0
;
for(int i=0;i)}}
cout
<}
return0;
}
題意:這一題的大概意思它定義了一種特別的數,其中這個數字包含的單個數字的種類的數量不超過2種,現在給你n需要你求出在[1,n]之中存在多少個這樣的數字。
題解:比賽想了半天就是沒看出這是乙個dfs,這裡我們可以這樣想,我們遍歷[0,9]中全部的2種數字的組合,然後將它們去排列組合,小於n就放入set(可以去重)中,最後輸出就可以了。
知識點:dfs 排列組合
**:
#include#include#include
#define ll long long
using
namespace
std;
setst;
ll n;
void dfs(int a,int
b,ll num)
if(tb&&tb<=n)
}int
main()
}cout
<1
;
return0;
}
2023年04月25日個人賽
a romaji 題意 本題比較簡單,給你乙個字串,要你判斷字串中的每乙個子音字元後面是否有乙個母音字元。題解 簡單簽到題,模擬即可。include include include define ll long long using namespace std intmain else if f 1...
2023年04月05日 個人賽
題意 題意比較簡單,簡單描述一下就是乙個小朋友去排隊,他的前面至少有a個人,後面最多有b個人,求這個小朋友可能在的位置有幾個,輸出可能的數量。題解 簡單的模擬一遍即可 1 include2 include 3 include4 include5 define ll long long 6using ...
2023年1月17日sdut vj個人賽
題目鏈結 簽到題。include using namespace std const int n 1e6 10 int n,k int a n int main else maxx max maxx,cnt cout maxx endl return0 題目鏈結 找能裁剪的最大的正方形,邊長從1開始...