作者yoco315 (眠月)
看板C_and_CPP
标题Re: [问题] 找两个已排序阵列共同的数
时间Sat Dec 12 02:17:16 2009
有没有大大可以帮我看一下,我可以接受他说我太慢,但是 wa 是怎样 ~_~"
我照足上一篇的虚拟码 code 的阿 Orz
┌────────────────────────────────────┐
|int main () { │
| // 宣告 │
| size_t n = 0 ; │
| size_t m = 0 ; │
| std::cin >> n >> m ; │
| size_t *a = new size_t[m] ; │
| size_t *b = new size_t[m] ; │
| for ( size_t i=0; i<n; ++i ) { │
| // 读取 │
| for ( size_t j=0; j<m; ++j ) { std::cin >> a[j] ; } │
| for ( size_t j=0; j<m; ++j ) { std::cin >> b[j] ; } │
| size_t x = 0 ; │
| size_t y = 0 ; │
| size_t same_cnt = 0 ; │
| // 演算法主要部份 │
| for (;;) { │
| if ( x == m || y == m ) { │
| break ; │
| } │
| if ( a[x] == b[y] ) { │
| ++same_cnt ; │
| ++x ; │
| ++y ; │
| } │
| else if ( a[x] < b[y] ) { │
| ++x ; │
| } │
| else { │
| ++y ; │
| } │
| } │
| std::cout << same_cnt << std::endl ; │
| } │
| delete[] a ; │
| delete[] b ; │
| return 0 ; │
|} │
└────────────────────────────────────┘
T______T 我太无能了,对不起
--
To iterate is human, to recurse, divine.
递回只应天上有, 凡人该当用回圈. L. Peter Deutsch
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.113.127
1F:→ cismjmgoshr:问个问题... size_t的范围是0~2^64-1吗 @@? 12/12 02:25
2F:→ yoco315:这个.. 看环境 orz 12/12 02:31
3F:→ yoco315:挖勒AC了,size_t的问题,改成 unsigne long long 就好了 12/12 02:41
4F:→ akasan:90ms收工XD 12/12 02:48
5F:→ yoco315:是直接 ioctl 吗.. 这题瓶颈根本就在 input XD 12/12 02:50
6F:→ yoco315:algo 就算 bs O(logn),input 还是 O(n) XD 12/12 02:51
7F:→ akasan:其实我们用的是同一个演算法XD 频颈是在转换 str->num 12/12 02:53
8F:→ yoco315:我实际上是getchar()自己转了.. 12/12 02:54
9F:→ yoco315:贴出来的 code 是想说正规一点.. 12/12 02:55
10F:→ akasan:不用转最快! 12/12 02:56
11F:→ yoco315:这就是为什麽你记忆体用这麽多吗. 12/12 02:57
12F:→ yoco315:刚刚就注意到你记忆体用很多,我还想不透,原来如此 XD 12/12 02:58