Aisaka_Taiga @ 2023-07-09 17:45:12
不知道为什么,本地运行多次都是没问题的,但是一交就挂。
#include <bits/stdc++.h>
#define int long long
#define N 1001000
using namespace std;
int A, B, ans, xx, cnt;
inline void work()
{
// cout << "cao" << endl;
double T = 10;
while(T > 1)
{
int x = xx + (rand() + rand() - RAND_MAX) * T;
int d = abs(x - A - B) - abs(ans - A - B);
if(d < 0) ans = x;
else if(exp(-d / T) * RAND_MAX > rand()) xx = x;
T *= 0.997;
}
if(abs(xx - A - B) < (ans - A - B)) ans = xx;
return ;
}
signed main()
{
srand(time(NULL));
cin >> A >> B;
while(cnt < 5e4) work(), cnt ++;
cout << ans << endl;
// cout << A + B << endl;
return 0;
}
by Link_Cut_Y @ 2023-07-09 17:51:01
又是一个学退火学傻的可怜孩子。
by Aisaka_Taiga @ 2023-07-09 17:53:38
@Link_Cut_Y 更新ans那里加了绝对值还是不对,甚至从20变成0了。。
by Aisaka_Taiga @ 2023-07-09 17:54:10
@Link_Cut_Y 要不您教教我怎么写遗传A+B也可以/kk
by xuzihao123 @ 2023-07-09 17:55:11
@Aisaka_Taiga
其实有更简单的方法
by Link_Cut_Y @ 2023-07-09 17:57:09
@Aisaka_Taiga 喵,关我然后私信我,我可以教你。
by yzm0325 @ 2023-07-09 18:12:24
@Aisaka_Taiga %%%
by Error_Yuan @ 2023-07-09 18:19:15
@Aisaka_Taiga windows 下 RAND_MAX
是 RAND_MAX
是
by CSP_AK_zc @ 2023-07-19 15:55:24
#include<bits/stdc++.h>
using namespace std;
int main()
{int a,b;
cin>>a>>b;
cout<<a+b;
}
这样写不香吗
by SleepWithMiku @ 2023-09-30 19:48:07
随机的问题?之前模拟退火交了十几次,最高90最低20
by SleepWithMiku @ 2023-09-30 19:57:26
https://www.luogu.com.cn/record/126743806
近70次中唯一一次过的