ARC087 / ABC082を解いたので、初心者なりに考え方などを書いて行きます。
AtCoderの解説放送を参考にしています。
https://www.youtube.com/watch?v=GDuzZIuWs2Q
この考え方でコードを書いてみたが、テストケースの2/3はACできたが、残りの1/3はREになってしまう。二時間粘っても取れなっかったので断念。
AtCoderの解説放送を参考にしています。
https://www.youtube.com/watch?v=GDuzZIuWs2Q
A - Round Up the Mean
a+b+1の平均を取れば良い。
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
int a,b;
cin >> a >> b;
cout << (a+b+1) / 2 << endl;
return 0;
}
B - Two Anagrams
s,tをソートして、tを逆順にして比較すればおk。
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
string s,t;
cin >> s >> t;
sort(s.begin(),s.end());
sort(t.begin(),t.end());
reverse(t.begin(),t.end());
cout << (s < t ? "Yes" : "No") << endl;
return 0;
}
C - Good Sequence
数字が出てきた回数がその数字よりも少なかったら出てきた回数、多かったら回数-その数字で良い数列にすることができます。
数字が出てきた回数を数え上げるところで少し悩んだ。
数字が出てきた回数を数え上げるところで少し悩んだ。
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
int n;
long long a[100010];
long long cnt = 1;
long long ans = 0;
cin >> n;
for (int i = 0;i < n;i++){
cin >> a[i] ;
}
sort(a,a+n);
for (int i = 1;i < n;i++){
if (a[i] == a[i-1]) cnt++;
else{
if (a[i-1] > cnt) ans += cnt;
else ans += cnt - a[i-1];
cnt = 1;
}
}
if (a[n-1] > cnt) ans += cnt;
else ans += cnt - a[n-1];
cout << ans << endl;
return 0;
}
D - FT Robot
ロボットの動きを、X軸とY軸に分けて考えるといいらしい。この考え方でコードを書いてみたが、テストケースの2/3はACできたが、残りの1/3はREになってしまう。二時間粘っても取れなっかったので断念。
まとめ
D問題はDPをもっと理解していれば解ける気がするので、DP頑張りたい。
stilletto titanium hammer - Tioga Star
返信削除Stilletto Titanium Blade titanium jewelry Stainless Steel Blade Stainless Steel Handle, titanium wok Blade Style, Steel Style, 1-5 blue titanium cerakote years old. Made in St. titanium teeth Louis, Missouri. Rating: 5 titanium bike · 5 reviews · $29.95 · In stock
r888r4sgljd456 horse dildo,horse dildos,male masturbator,dildos,realistic sex dolls,vibrators,g-spot dildos,wholesale sex doll,penis rings o040z9uioae775
返信削除