t2t3
t4t5t6
本次題目暴枚較多,弄不好容易tle,掌握方法即可.
錯誤極多.最常見的是爆int,有的時候真的你在電腦上能好好執行,一放到評測機上就gg了.隱性的情況一定要注意了.還有當寫for迴圈的時候修改迴圈變數一定要改全!三個字母都要改!for(int i=1;i<=n;i++)這句話裡三個i都要改!我手殘改了前面兩個,執行出錯,我怎麼都找不到問題.重要的事情要說三遍!最後記得輸入矩陣的時候n和m不要打反,也很難找出的錯誤,搞了我半小時.好好想想思考方法,總有辦法的.
輸入n和k,如果能找到k個不為1的數,它們相乘等於n,則輸出這k個數(spj,一種方法);如果找不到,輸出-1.
暴枚+遞迴,從2開始找到n最小的因數i,找到之後把n/i繼續操作,直到n為1還是沒有k個數或者已經找到第k個數為止.
#include
using
namespace
std;
int n,k,a[25];
void fenjie(int n,int m)//m表示分解到第幾個數
//沒有k個數
else
if (m==k)
for (i=2;i<=n;i++) if (n%i==0) }
int main()
在乙個陣列中任意找k個數求和,和必須是奇數,輸出最大的和.
陣列裡是有負數的.首先把所有正數加起來,然後看看是不是奇數,如果不是奇數,就在所有的數里找到絕對值最小的奇數,把它減掉即可.
#include
using
namespace
std;
int a[100010];
int main()
if (he&1) cout
cout
《給出乙個小寫英文本母組成的字串,把裡面所有的字元進行不斷地入棧,出棧操作,輸出這樣操作出棧的字串當中字典序最小的乙個.
最關鍵的一點是每次找最小的字元出棧.我用乙個字元陣列儲存從尾到頭最小的字元.然後對字串入棧,當棧不為空並且棧頂字元小於或者等於當前最小字元,就讓它出棧.
#include
using
namespace
std;
stack
t;string s;char final[100010];
int main()
if (p==l) break;
t.push(s[p]);
p++;
}}
對於一棵二叉查詢樹來講,你一定能用下面這樣的**查詢到每乙個值.
bool find(treenode t, int x)
find(root, x);
可是不是所有的數都是二叉查詢樹,輸入一棵樹的所有結點以及其子節點情況(沒有輸入-1),輸出用上述查詢方法查詢失敗的次數.
dfs,**放在下面,但是不會思路.
#include
using
namespace
std;
int n,x[100010],l[100010],r[100010],answer=0;bool visible[100010];
set node_visible;
void searching_mistakes(int root,int left,int right)
int main()
for (i=1;i<=n;i++) if (visible[i]==0) searching_mistakes(i,0,2147483647);
for (i=1;i<=n;i++) if (node_visible.find(x[i])==node_visible.end()) answer++;
cout
《輸入乙個陣列a[n],以下q個詢問,每個詢問有p,k兩個值,對於每個詢問每次讓p=p+a[p]+k,直到p>n為止,輸出操作次數.
這題肯定是暴枚了.
#include
using
namespace
std;
int a[100010],p,k;
int main()
printf("%d\n",t);
}}
tle了.我們可以用什麼方法來儲存呢?我們可以定義乙個二維陣列large_master[p][k],讓large_master[p][k]儲存詢問p,k的值.如果這個值已經有了,我們就可以直接輸出;如果沒有,我們就定義乙個dfs,返回dfs(p+a[p]+k,k)+1.你問我陣列的大小要炸啊!用空間換時間沒有必要這麼徹底,我們可以儲存到sqrt(n)為止.我故意把函式名,陣列名定義得很長,看起來好像我寫了很多.可以把時間複雜度縮到n*sqrt(n).
#include
using
namespace
std;
int a[100010],n,q,p,k,large_master[100010][400],pingfanggen;
int addpoints(int p,int k)
int main()
}
一條線上有很多老鼠,有很多老鼠洞.突然老鼠們受到了驚嚇,紛紛逃回洞.每個洞有自己能夠裝下老鼠的最大個數,輸入每個老鼠的座標,洞的座標以及洞的最大安放數,輸出老鼠逃回洞最少要走的距離.
不要問我思路.
#include
using namespace std;
typedef long long ll;
const ll boss=5000;
struct holeh[boss+10];
intx[boss+10],q[boss+10],l,r;
ll dp[boss+10][boss+10],s[boss+10];
bool cmp(hole a,hole b)
cout}
奮鬥群群賽14總結與心得附上週總結與目標
t2t3 t4t5 t6t7 前四題很水?我居然不會。比賽的時候真的毒,我比賽的網上不去,當我終於寫完e題,網炸了,然後我沒能提交。上週小錯不斷,什麼bug都有。我在i的迴圈裡套i的迴圈我竟然檢查了1個小時沒檢查出來!完了。下週目標ak。就這樣,我隨便說說而已。乙個檸檬必須搭配兩個蘋果和四個梨,給出...
奮鬥群群賽7總結與心得
t2t3 t4t5 本次人品很好,老師發了一次福利,五道題都很水 我應該沒有資格說這種話吧 對於乙個大於1的正整數,輸出它最多能被分解成多少個質數之和,以及這些質數.明顯的水題吧.對於偶數,全部輸出2 對於奇數,輸出很多2加上乙個3就可以了.include using namespace std i...
奮鬥群群賽 4
t2arpa and an exam about geometry t3five dimensional points t4polycarpus dice總結 t1位置所在 有一排觀眾席,有n個人,當t 1時第乙個人站起來,t 2時第二個人站起來,t 3時第三個人站起來 到k位置,都是站起來,但是k...