分析:水题,首先对所有边排序,之后只需要判断相邻的三条边是否能组成一个三角形,若能,则当前三角形就是之前所有符合三角形中周长最大的,扫描一遍排序后的结果即可得到最终答案。
#include
#include
using namespace std;
int a[10005];
int main()
{
int n,i,len,tmp;
while(cin>>n && n)
{
l...
分类:
其他好文 时间:
2015-05-07 22:08:11
阅读次数:
364
分析:动态规划,一定要注意当前状态需要和前面所有的状态一起进行考虑,另外注意浮点数的处理,还WA了一次。
#include
using namespace std;
int L,N,C,T,VR,VT1,VT2;
int a[105];
double dp[105];
double min_time_ij(int i_0,int j_0)
{
if(j_0-i_0>C)
return ...
分类:
其他好文 时间:
2015-05-06 17:48:35
阅读次数:
193
题目地址:HDU 3333
将询问离线保存下来,然后将数组的点离散化,记录每个值上一次出现的位置。然后枚举数组的数,若当前枚举的数前面出现过,那么就删掉前面出现过的那个位置上的数,更新当前这个位置上的数,然后那些所有询问的右端点为当前位置的就可以通过查询来得到结果了。
更新与查询用线段树来优化。
代码如下:#include
#include
#inc...
分类:
其他好文 时间:
2015-05-06 17:42:00
阅读次数:
146
分析:使用优先队列.
以next为优先级,小的先出队
读入数据后排序,初始化队列第一个元素(0,a[0],0)
每次出队一个元素,入队(sum,sum+a[nextid+1],nextid+1),(next,next+a[nextid+1],nextid+1),即是否加上a[nextid+1]都考虑进去了。
这样每次新加入的元素都是下一个最小的(next),进行m次就得到了第m小。
...
分类:
其他好文 时间:
2015-05-06 15:08:18
阅读次数:
94
分析:水题,注意计算某个位置的分数时他自己的不算,加减都是绝对值(一开始这里还理解错了)。
#include
#include
using namespace std;
int a[25][25];
int main()
{
int i,j,n,m;
int maxv,maxi,maxj,tmp;
while(cin>>n>>m && n+m)
{
for(i=0;i<n;i+...
分类:
其他好文 时间:
2015-05-06 13:22:04
阅读次数:
100
分析:水题,电梯要上到最高层还要回到最底层,所以电梯上下的时间等于最高层乘以10,电梯开门完的时间为5加上人数,因为下一个人只需1秒。
#include
using namespace std;
int main()
{
int f[105];
int i,sum;
int C,n,a,max;
cin>>C;
while(C--)
{
cin>>n;
memset(f,...
分类:
其他好文 时间:
2015-05-06 13:17:42
阅读次数:
88
分析:水题。
#include
using namespace std;
int main()
{
int x1,y1,z1,x2,y2,z2;
int n,x3,y3,z3;
cin>>n;
while(n--)
{
scanf("%d:%d:%d",&x1,&y1,&z1);
scanf("%d:%d:%d",&x2,&y2,&z2);
x3=y3=z3=0;
...
分类:
其他好文 时间:
2015-05-06 13:16:21
阅读次数:
127
分析:概率题,不符合关系=1-相同关系=1-(都是朋友+都不是朋友);n-a[i]-1=总人数-有关系的人-本身,即无关系人数;a[i],有关系人数;不符合关系情况=本身*有关系人数*无关系人数;总的不符合关系情况=所有不符合关系情况累加/2(除以2是因为:你是我的朋友=我是你的朋友);总人数:C(3,n)=n*(n-1)*(n-2)/6。
#include
using namespace st...
分类:
其他好文 时间:
2015-05-06 13:15:10
阅读次数:
129
分析:该題可以通过求最长回文串的方法来解决;求最长回文串使用manacher算法,O(n)时间复杂度。
注意:while(a[i-len[i]]==a[i+len[i]] && a[i-len[i]]
#include
using namespace std;
#define N 100010
int len[N<<1];
int a[N<<1];
int Manacher(int n)
...
分类:
编程语言 时间:
2015-05-05 21:57:17
阅读次数:
190