X



競技プログラミング総合スレ 65

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん (オッペケ Srdf-v7Gx)
垢版 |
2022/12/26(月) 12:47:37.63ID:CkzYHyzir
!extend:checked:vvvvv:1000:512
↑2行になるようにする

競技プログラミング、オンラインジャッジ、プログラミングコンテストやCTFに関する雑談スレ
次スレは>>950

AtCoder https://atcoder.jp/
yukicoder https://yukicoder.me/
Codeforces https://codeforces.com/
CodeChef https://codechef.com/
Project Euler https://projecteuler.net/
CLIST https://clist.by/
AtCoder Problems https://kenkoooo.com/atcoder/
AtCoder Clans https://kato-hiro.github.io/AtCoderClans/

※前スレ
競技プログラミング総合スレ 64
https://mevius.5ch.net/test/read.cgi/tech/1664700238/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0863デフォルトの名無しさん (ワッチョイ faad-OF0a)
垢版 |
2023/03/17(金) 21:49:57.99ID:v6DwInoP0
早稲田大学 Twitter名さかえまな atcoder 名 na_kombu 真中紗枝
教育学部 25歳
0869デフォルトの名無しさん (ワッチョイ 13ad-gGwk)
垢版 |
2023/03/18(土) 02:40:41.68ID:cnAFfKbu0
早稲田大学 Twitter名さかえまな atcoder 名 na_kombu 真中紗枝
教育学部 25歳
0879デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/19(日) 22:42:50.25ID:y82GOv10p
今回Gまで簡単というか典型めで良かったけどオイラーツアーのライブラリ持ってなくて一から書いてたら橙パフォ逃しちゃった
というかGこんなに解かれるもんなんだインフレしすぎ
0884デフォルトの名無しさん (ワッチョイ d98c-d7tS)
垢版 |
2023/03/20(月) 00:08:10.86ID:gKXpc2uz0
Eバクりまくって4完。カス
0885デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/20(月) 00:29:14.29ID:1RFbVmDh0
multisetを使うDがレート380とか信じられないんだけど・・・
0894デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/20(月) 16:19:36.96ID:hAgeSbvHp
寒色diff程度の簡単めな問題なら解法分かってる状態で質問繰り返してしかも手直しまでしたら解けるに決まってるんだよな
解法が分かってない状態でも自分よりも高いパフォが出せるようになるかが問題
0907デフォルトの名無しさん (ササクッテロラ Sp9d-DNgm)
垢版 |
2023/03/20(月) 20:27:08.93ID:JGpTxGZup
>>906
当たり前っていうのはAIを適切な解き方に誘導したらそれに沿って解いてくれるのは当たり前って話をしていたつもりだった(3.5の時はこうしないと簡単な問題以外は解けなかった)

chatGPTがバージョン4になった今どういう風に解いてくれるのかは把握してないし先週のABCで7完したという話も初耳
0908デフォルトの名無しさん (ワッチョイ 1101-cF8N)
垢版 |
2023/03/20(月) 20:44:01.94ID:AhWhyU3m0
Moのアルゴリズム提案してくれたやつは問題を読ませた“だけ“ではなくて質問である程度誘導してたとは思う
(もちろんそれで提案してくれるのはめちゃくちゃ凄いが)
0914デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/20(月) 22:45:45.31ID:g4VcAGMh0
すまん
初心者なんだがIQが低すぎてこの問題が解けない
一つだけクリア出来ないテストケースがあるみたい

N以下の自然数でXの倍数またはYの倍数であるものはいくつあるか?

入力
N X Y
制約
1≦N≦10^6
1≦X<Y≦10^6

コード

#include<bits/stdc++.h>
using namespace std;

int main() {
long long n,x,y;
cin>>n>>x>>y;
if(y%x==0) cout<<n/x<<endl;
else cout<<n/x+n/y-n/(x*y)<<endl;
}
0926デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/21(火) 01:06:39.53ID:WiAWCQDG0
おそらくGTPにヒューリスティックを除くatcoder的なスキルはほとんど使われていない、使われてるのはニューラルネット、内積、最適化、強化学習など。何故か整数ばかりのパズル最適化は見当違いも良い所。
競プロは役に立たない。
0932デフォルトの名無しさん (ワッチョイ 9bca-aXiD)
垢版 |
2023/03/21(火) 13:55:08.65ID:WiAWCQDG0
>>930
トランスフォーマーの核なので強調してみたのじゃw

>>931
DSだけどどう温かい目で見てもABCの問題の大半は役に立たない。ガチ。
0934デフォルトの名無しさん (ワッチョイ a1bd-jnF6)
垢版 |
2023/03/21(火) 14:35:19.64ID:2zmgamhJ0
内積でqueryとkeyのある種の類似度を計算して重みとして利用するのはそうなんだけど、まず磨くようなスキルではないのではないかという
離散最適化が主なのはそうだけど、実質的には連続緩和して解くような問題もままあるので、連続最適化をしてないとも言えないし
0935デフォルトの名無しさん (アウアウウー Sa95-lF85)
垢版 |
2023/03/21(火) 15:06:25.17ID:icU0z8mba
Winnyの金子ですね判ります
0936デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/21(火) 17:35:53.57ID:1DnfyNWD0
問題
N 枚のカードが横一列に並べられています。左からi 番目のカードには整数Ai​が書かれています。
カードの中からいくつかを選んで、合計がちょうどS となるようにする方法はありますか。
制約
1≦N≦60
1≦Ai,S≦10000
入力は全て整数
入力
N S
A1…AN
0937デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/21(火) 17:44:43.69ID:1DnfyNWD0
質問です
これって動的計画法を使う問題ですよね
dp[i][j]をiまでのカードのなかで合計がjとなるようなカードの組み合わせが存在するかと考えても上手くいかないです
ほとんどのテストケースではACが取れるので全く検討違いというわけではないと思うのですが、有識者の目から見て間違ってる部分はありますか?
#include<bits/stdc++.h>
using namespace std;

using ll = long long ;
using bl = bool ;

#define Rep(i,a,b) for(ll i=a;i<=b;i++)

int main() {
ll n,s,A[69];
bl dp[69][10009];
cin>>n>>s;
Rep(i,1,n) cin>>A[i];
dp[0][0]=true;
Rep(i,1,s){
dp[0][i]=false;
}
Rep(i,1,n){
Rep(j,0,s){
if(dp[i-1][j]==true) dp[i][j]=true;
elif(dp[i-1][j-A[i]]==true) dp[i][j]=true;
else dp[i][j]=false;
}
}
if(dp[n][s]==true) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
0939デフォルトの名無しさん (ワッチョイ 1101-DNgm)
垢版 |
2023/03/21(火) 17:49:03.50ID:8HipxHLW0
>>937
全然ちゃんと確認してないんだけどj-A[i]で範囲外参照してそう

環境にもよるけど、 #define _GLIBCXX_DEBUG を入れると範囲外参照関連のデバッグはしてくれるから便利だよ(実行時間が遅くなる場合もあるから提出する時は外れるようにすると良い)

まあこういう遷移はめちゃくちゃ良くあるし慣れたらデバッグしないでも殆どミスらなくなると思う
0946デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:54:15.97ID:XBvF4hES0
質問
N個の正整数の最小公倍数を求める問題で分からない部分がありました。

コード1ではACが取れなかったのですが、コード2に変えてみたところACを取ることが出来ました。
数学的にはコード1もコード2も違いがないと思うのですが、何がいけなかったのでしょう。
頭を捻っても全く分かりません。
0947デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:54:42.44ID:XBvF4hES0
コード1
#include<bits/stdc++.h>
using namespace std;

ll Gcd(ll a,ll b){
while(a>=1 && b>=1){
if(a>b) a=a%b;
else b=b%a;
}
if(a!=0) return a;
return b;
}
int main() {
ll n,A[100009],g,l;
cin>>n;
Rep(i,1,n) cin>>A[i];
l=A[1];
Rep(i,2,n){
g=Gcd(l,A[i]);
l=(l*A[i])/g; ←変えたところ
}
cout<<l<<endl;
}
0948デフォルトの名無しさん (ワッチョイ 990c-NQjs)
垢版 |
2023/03/22(水) 14:55:09.27ID:XBvF4hES0
コード2
#include<bits/stdc++.h>
using namespace std;

ll Gcd(ll a,ll b){
while(a>=1 && b>=1){
if(a>b) a=a%b;
else b=b%a;
}
if(a!=0) return a;
return b;
}
int main() {
ll n,A[100009],g,l;
cin>>n;
Rep(i,1,n) cin>>A[i];
l=A[1];
Rep(i,2,n){
g=Gcd(l,A[i]);
l=(l/g)*A[i]; ←変えたところ
}
cout<<l<<endl;
}
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況