題目鏈結
題目大意
有n個投標者,投標最高的獲得物品,需要支付第二投標者的**.
解題思路
使用結構體,儲存投標的**和一開始的排序.
然後根據投標**排序,使用sort就可以了
ac**
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 110;
struct node
a[maxn];
bool cmp (node a, node b)
int main()
sort(a+1, a+n+1, cmp);
cout
<< a[n].n << ' '
<< a[n-1].w << endl;
}return
0;}
題目鏈結
題目大意
,求陰影部分
l' role="presentation" style="position: relative;">l
l的最大長度
解題思路
h,是固定的長度的,首先延長邊,根據邊的比例能夠退出x+y的函式表示式(用θ表示)
列出兩個極端的情況,人在最左邊和最右邊,這就是θ的取值範圍,然後對上面的函式表示式求導,得到函式是先增後減的,有極大值
求出零點θ的值(二分),然後判斷3點的值的最值即可
ac**
#include
#include
#include
#include
using
namespace
std;
double h,d,h;
double mid;
bool judge(double mid)
int main()
double ans = max( (d*h/h), h);
double tanx = h - (d/tan(mid)) + (tan(mid)*(h-h)) + d;
ans = max(ans, tanx);
printf("%.3f\n", ans);
}return
0;}
題目鏈結
題目大意有n
n
臺計算機,要建立小型區域網,所有連線都是雙向的。兩台計算機的鏈結成本是ci
j' role="presentation" style="position: relative;">cij
cij,找到最小的成本的連線方法
解題思路
乙個最小生成樹的模板題目。但是他要輸出最小的字典序。
最簡單的方法是輸出邊的時候排序。
但是,如果生成樹不是一條的話就很難弄了。
所以我們可以吧輸入的資料,先排序,首先根據費用排序,然後根據起點排序,最後根據終點排序。
ac**
#include
#include
using
namespace
std;
const
int maxn = 10000+10;
struct nodenode[maxn];
struct mpmp[maxn];
bool cmd1(mp a,mp b)
int pre[maxn];
int p=0,n,pp=0;
int find(int root)
int kruskal()
}return ans;
}int main()}}
int q = kruskal();
if(q == 0 || q != n-1)else}}
}return
0;}
題目鏈結
題目大意
題解思路
使用map直接儲存字串,然後直接找就好了
ac**
#include
#include
#include
#include
#include
using
namespace
std;
map mp;
int main()
int n,p;
scanf("%d",&n);
for(int i=0;iscanf("%d",&p);
int sum=0;
for(int j=0;jcin>>s;
if(mp[s]==1) sum++;
}printf("%d\n",sum);
}return
0;}
題目鏈結
題目大意
給你乙個輸入序列乙個輸出序列,問是queue還是stack,還是都不或者都不是
解題思路
直接模擬,拿輸出序列和queue還有stack輸出對比
ac**
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 100+10;
int a[maxn],b[maxn];
queue
q;stack
s;int main()
int flag1,flag2;
flag1=flag2=1;
for(int i=0;iint x;
scanf("%d",&x);
if(x==q.front())else
if(x==s.top())else
}if(flag1==1 && flag2==1)else
if(flag1==1 && flag2==0)else
if(flag1==0 && flag2 == 1)else}}
return
0;}
題目鏈結
題目大意
構造出乙個點的值等於周圍四個點的值的和(注:一定是四個點,挨著邊的都不算
解題思路
構造題一般都不是乙個解,只要符合題目就行。
因為乙個點的值等於周圍四個點的值的和,所以當都是0時也是符合條件的,題目的樣例中也給出了這種情況,這種也是最好構造的.
我們可以從上到下,除了邊上點,其餘的符合條件的地方使用0,後面不符合條件的用1來填充。
注意最後的空格和換行,不然會wa
ac**
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 17;
int num[maxn][maxn];
void tian(int n, int m, int k)}}
else
}if(k % (m-2) != 0)
for(int j=(k%(m-2))+1; j < m; j++)
i++;
}for(;i < n; i++)}}
}int main()}}
return
0;}
第六屆山東省省賽題解
給出n個人的身高和體重 要求按身高排序後 奇數序號的人一隊,偶數序號的人一隊 體重大的一隊獲勝 水題,考察點是結構體的排序 要注意的是變數的初始化以及資料型別的精度和輸入 struct node a 110 bool cmp node a,node b intmain sort a,a n,cmp ...
山東省第六屆省賽K題
題意描述 題目原型來自lol遊戲,乙個人和一座塔,共同打n個怪,每個怪都有一定的血量,塔和人都有無限血。每一 擊都是塔先打,而且塔只按順序打怪物,人後打,但人可以選擇任意乙個攻擊,但是人在每一輪可以攻擊也可以不攻擊。求人最多可以給幾個怪物以最後一擊。1 n 1000,塔,人的每次攻擊力x y 在 0...
藍橋杯第六屆省賽C C B組個人題解
直接暴力 答案 52488 include using namespace std intmain t 10 if ok ans cout excel填一下 2017 8 5 這題有意思了 可以用數學直接推出來 首先三必定是1,祥 1 10 羊 1 進製情況 1 有進製的情況 祥 10 羊 不成立 ...