Gravatar
cstdio
积分:4745
提交:1198 / 2108
然而LCA并没有什么卵用……
常数巨大……
代码这么长我是不是应该直接写LCT了……

Gravatar
天一阁
积分:1723
提交:544 / 1314
回文自动机来一发
看错数据调好久,弃疗交上去发现A了,惊呼数据没过AC了(看错标准输出了囧)。。~~~~(>_<)~~~~

Gravatar
真呆菌
积分:1088
提交:273 / 486
假如强制在线该怎么做……

Gravatar
Asm.Def
积分:1014
提交:240 / 495
强行不用矩阵→_→初等方法默默飘过

Gravatar
清羽
积分:824
提交:197 / 786
咦?为啥没人打表。。

题目 913 漫游小镇
2015-05-14 07:36:06
Gravatar
清羽
积分:824
提交:197 / 786
卧槽我不是故意刷榜的。。我就是想事实HASHSIZE和时间的关系。。

Gravatar
清羽
积分:824
提交:197 / 786
回复 @cstdio :
囧。。事实证明1007就更快了,7的话貌似也特别快。。这是取余时候的常数太大了吗。。

Gravatar
清羽
积分:824
提交:197 / 786
回复 @cstdio :
为啥HASH_SIZE开小点会比开大了更快。。而且开的足够大以后直接TLE了,这是什么鬼。。1000007的话TLE,100007跑到第三,10007就rank1了。。

Gravatar
sunshine123
积分:789
提交:290 / 625
弱弱的50分暴力。。
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int ans,n;
int gcd(int a,int b){return b==0?a:gcd(b,a%b);}
int main()
{
cin>>n;
for (int i=1;i<=sqrt(n);i++)
for (int j=1;j<=i-1;j++)
{
if (gcd(i,j)==1) ans+=n/(i*(i+j));
}
cout<<ans;
}

Gravatar
清羽
积分:824
提交:197 / 786
回复 @rpCardinal :
这个数据好坑

Gravatar
forever
积分:1322
提交:475 / 868
回复 @Roudnis :

题目 1976 看球的巴士
2015-05-13 09:07:56
Gravatar
Asm.Def
积分:1014
提交:240 / 495
OMG!!!哈希大法好可怕啊……前面我说的那个二分查找结构只要改成一个哈希链表结构就可以随便做啦!复杂度直接去掉一个log,变成了$T(N) = \sum_{i=1}^{\sqrt{N}} (\sqrt{\frac{N}{i}} + \sqrt{i} ) × \frac{N}{P}$

Gravatar
天一阁
积分:1723
提交:544 / 1314
O(nlogn)【快排】的算法被卡成这样,常数大不是我的错。。。

Gravatar
0
积分:2003
提交:530 / 1238
c<=100

Gravatar
清羽
积分:824
提交:197 / 786
这个题为啥会有CDQ的标签。。这不是整体二分吗……maya我为啥要离散化啊

题目 257 动态排名系统
2015-05-11 19:05:52
Gravatar
TAT
积分:138
提交:47 / 77
回复 @dydxh :
fread优化读入
线段树->差分树状数组

Gravatar
stdafx.h
积分:3338
提交:889 / 1556

Gravatar
forever
积分:1322
提交:475 / 868

Gravatar
晖灰熊
积分:177
提交:197 / 325
水啊!
水啊!
被格式坑了几次。。。
基本的队列操作。呵呵~
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
#include <cstdlib>
using namespace std;
ifstream fin("queue.in");
ofstream fout("queue.out");
int n;
queue<int> que, ans;
void cls() {
int p = que.size();
for ( int j = 0; j < p; ++j )
que.pop();
return ;
}
void print() {
int t;
ans = que;
t = ans.size();
fout << t << endl;
for ( int q = 0; q < t; ++q ) {
fout << ans.front() << " ";
ans.pop();
}
fout << endl;
return ;
}
int main () {
fin >> n;
int k, x;
for ( int i = 0; i < n; ++i ) {
fin >> k;
if ( k == 1 ) cls();
if ( k == 2 ) {
fin >> x;
if ( que.size() != 10 ) que.push(x);
else fout << "queue out" << endl;
}
if ( k == 3 ) {
if ( que.empty() ) fout << "queue empty" << endl;
else que.pop();
}
if ( k == 4 ) print();
}
return 0;
}

题目 72 队列基本操作
2015-05-11 13:44:42
Gravatar
sundihao
积分:6
提交:3 / 4
水水更健康

题目 1299 BPlusA AAAAA
2015-05-11 13:20:57