日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

牛客网训练3总结

發(fā)布時(shí)間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客网训练3总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

A打怪

題意:我和怪物都有血量,都有攻擊值。我和怪物輪流攻擊,當(dāng)然我先開始,問在我血量為0之前最多能殺幾個(gè)怪。

分析
統(tǒng)計(jì)怪物死需要打幾次cnt,我死需要打幾次cnt1。
如果怪物一次就死,則我可以殺無數(shù)個(gè)怪。
否則我的血量需要減去(cnt-1)*怪的攻擊力

ac代碼

#include<iostream>using namespace std; int t,h,a,H,A; int main(){cin>>t;while(t--){cin>>h>>a>>H>>A;int tmp1=h,tmp2=H;int cnt=0,cnt1=0;while(tmp2>0){//怪需要幾次才死 tmp2-=a;cnt++;}while(tmp1>0){//我需要幾次才死 tmp1-=a;cnt1++;}if(cnt==1){cout<<-1<<endl;continue;} int num=0;do{h-=A*(cnt-1);if(h>0) num++;}while(h>0);cout<<num<<endl;} }

B吃水果

分析

AC代碼

#include<iostream>using namespace std;int t; typedef long long ll; ll n,m; int main(){cin>>t;while(t--){cin>>n>>m;if(n==m){//一樣多 cout<<n<<endl;continue;}int a=max(m,n);//較大者 int b=min(m,n);//較小者if(a==2*b){cout<<a+1<<endl;continue;}int cnt=0;while(a!=2*b){if(a/2>=b){b*=2;cnt++;}else{a--;b--;cnt++;}}cout<<cnt+a+1<<endl;}return 0; }

C咪咪游戲

這個(gè)串是由連續(xù)的mq連接而成的。
判斷是否合法
輸入

4 mqmq mqmqm mqakioi mqqmmq

輸出

Yes No No No


這題考慮少了只有qmqmqm的情況,竟然還過了!

需要學(xué)習(xí)大佬的簡潔的代碼。

寶盒

占坑來答,這是一道分組背包的題目。

E小心思

題意
給定行李箱的體積和每件行李壓縮前后的體積,問最少壓縮幾個(gè)袋子可以把行李放進(jìn)行李箱。
分析
求出壓縮前所有行李的體積和sum1,求出壓縮后所有行李的體積和sum2。
如果壓縮前體積小于行李箱體積,則必可裝
如果壓縮后體積大于行李箱體積,則必不可裝。
其他情況,必然是壓縮前放不下, 壓縮后可以放下
按照壓縮前后體積之差從大到小排序,遍歷壓縮即可。

int cnt=0,p=1;while(sum1>m&&p<=n){sum1+=(a[p].hou-a[p].qian);cnt++;//袋子個(gè)數(shù)p++;//下一個(gè)}

ac代碼

#include<iostream> #include<algorithm> using namespace std; typedef long long ll;const int maxn=1e5+10; struct node{ll qian,hou; }a[maxn];//壓縮前后體積相差最大的排在前面 bool cmp(node a,node b){return(a.qian-a.hou>b.qian-b.hou); }int n,m; int main(){while(cin>>n>>m){ll sum1=0,sum2=0;for(int i=1;i<=n;i++){cin>>a[i].qian>>a[i].hou;sum1+=a[i].qian;sum2+=a[i].hou;}if(sum1<=m){//不用壓縮 cout<<0<<endl;continue;}if(sum2>m){//壓縮后放不下 cout<<-1<<endl;continue;}sort(a+1,a+n+1,cmp);int cnt=0,p=1;while(sum1>m&&p<=n){sum1+=(a[p].hou-a[p].qian);cnt++;//袋子個(gè)數(shù)p++;//下一個(gè)}cout<<cnt<<endl;} }

F多元組

這是一道dp+樹狀數(shù)組的題目

ac代碼鏈接M元上升子序列【樹狀數(shù)組+dp】

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的牛客网训练3总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。