首页 > TAG信息列表 > ansx
洛谷P1337 [JSOI2004]平衡点 / 吊打XXX
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef double db; 5 const int N=1e3+5; 6 db ansx,ansy,answ; 7 int n; 8 struct point{ 9 int x,y,w; 10 }p[N]; 11 12 ll read() 13 { 14 ll x=0,f=1;char ch=get【luogu P1337】平衡点 / 吊打XXX(模拟退火)
平衡点 / 吊打XXX 题目链接:luogu P1337 题目大意 有 n 个重物,都系在一个足够长的绳子上,自上而下穿过桌面的一个洞,然后系在一起,然后问你绳结最后停在哪里。 绳结不会掉下洞口,绳子和桌面没有摩擦,桌子足够高。 思路 模拟退火大概就是利用了固体物质降温的过程,套用了热力学的理论。 然模拟退火学习笔记
什么是模拟退火 模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火是由S.Kirkpatrick, C.D.Gelatt和M.P.Vecchi在1983年所发明的。V.Černý在1985年也独立发明此演算法。模拟退火算法是解决TSP问题的有效方法之一。 简单说,[JSOI2004]平衡点
模拟退火练手好题。 模拟退火我晚上会另写一篇。 有这么几个参数: \(T\):初始温度 \(eps\):终止状态 \(v\):速率 \(z\):差量,即随机的答案与当前手上的答案的差量。 随机接受函数:exp(-z / T) * RAND_MAX > rand() 这题中温度设为\(200\),速率为\(0.996\)可以通过(毕竟模拟退火是一个[CF754D] Fedor and coupons - 贪心,堆
[CF754D] Fedor and coupons - 贪心,堆 Description 给出n个区间,要求选出k个区间,是k个区间的并尽可能大 Solution 按 l 排序后顺序扫描,用一个堆维护 l 不超过当前的,最大的 k 个 r #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e6 + 5; i(补题) 湖南省第六届大学生计算机程序设计竞赛
D - Ball in a Rectangle 题意:小球初始位置在(x,y),半径为r,以与水平正方向夹角α的初始速度v开始运动,在矩形边框内进行弹性碰撞,问s秒后小球球心位置在哪。 主要做法:浮点数取模。 做法概括:假设最初在(x,y),由于速度分解后属于弹性碰撞,那么对于每一维单独计算路程,然后用(路程+当前位置CF1276C Beautiful Rectangle
CF1276C Beautiful Rectangle 题意 连接 题解 显然出现次数最多的数出现次数一定小于行,这个时候列数也一定要大于行数,不然放不下按出现次数将每个数排序考虑从大到小枚举行,每次最大化列数对于每个数,按从大到小的顺序把大于行数的减掉,同时更新可用的元素显然你从大到小枚举的行,现在