2012年11月18日

Ural1014

题是水题。本弱用了爆搜的方法。
首先把特殊情况(Q=0,1)先判掉,从9开始往下除,去除Q,除到2,如果最后Q没变1就输出-1。
由于水平问题,DEBUG一共用了1小时TAT。
第一次,是没判断n = 0 和 n = 1 的情况,于是悲剧 。
第二次,是想当然的把 n = 0 弄成了 0 ,又一次悲剧 。
第三次,是高估了long的范围,还是悲剧……。
贴上代码……(有点丑了)
 1 #include<iostream>
 2 #define For( i, a, b ) for ( i = a; i <= b; i++ )
 3 using namespace std ;
 4 typedef long long ll ;
 5 
 6 bool check( long a ) {
 7     ll i, tem = 1 ;
 8     if ( a > 1 && a < 10 ) return true ;
 9     if ( a > 10 ) 
10     {
11         For( i, 2, 9 ) if ( a%i == 0 ) { tem = 0; break ; }
12         if ( tem ) return false ;
13     }
14     for ( i = 9; i >= 2; i-- )
15         if ( a%i == 0 ) return check( a/i ) ;
16     return false ;
17 }
18 
19 ll solve( long a ) {
20     ll i;
21     if ( a > 1 && a < 10 ) return a ;
22     for ( i = 9; i >= 2; i-- )
23         if ( a%i == 0 ) return solve( a/i ) * 10 + i ;
24 }
25 
26 int main() {
27     ll  num ;
28     cin >>num ;
29     if ( num == 1 ) {
30         cout << num ;
31         return 0 ;
32     }
33     if ( num == 0 ) {
34         cout <<10 ;
35         return 0 ;
36     }
37     if ( !check( num ) ) { 
38         cout <<-1;
39         return 0 ;
40     }
41     cout << solve( num ) ;
42     return 0 ;
43 }

posted @ 2012-11-18 23:43 Cool Wings 阅读(156) | 评论 (0)编辑 收藏

2012年11月3日

【NOIP2011】选择客栈

这个题据说是水题,有很多种算法
算法1 (朴素):
1、顺序检索每一个客栈。
2、对于颜色为k的客栈i,搜索在此之前后颜色同为k的客栈j。
3、搜索到以后查找区间[i,j]内消费要求小于等于p的客栈,搜索到则总结果数sum+1。

 1#include<iostream>
 2using namespace std ;
 3int main()
 4{
 5 long n, k, p ;
 6 long color[200000], cost[200000] ;
 7 //freopen( "2.in", "r", stdin ) ; freopen( "2.out", "w", stdout ) ;
 8 cin >>>>>> p ;
 9 for ( long i = 0; i < n; i++ ) cin >>color[i] >>cost[i] ;
10 long ans = 0 ;
11 for ( long i = 0; i < n-1; i++ )
12  for ( long j = i+1; j < n ; j++ )
13   if ( color[i]== color[j] ) 
14   {
15    long temp = 0 ;
16    for ( long cafe = i; cafe <= j && temp == 0 ; cafe++ )
17     if ( cost[cafe] <= p ) temp = 1 ;
18    ans += temp ;
19   }

20 cout << ans ;
21 return 0 ;
22}



预期得分40~60

算法二:
当然是DP
动态规划,设f[i,j]为前i个客栈中色调为j的可行方案,s[i,j]为前i个客栈中可以与之后色调为j的客栈搭配的客栈数,即有s[i,j]个客栈的色调为j,且该客栈与第i个客栈之间有符合条件的咖啡店,v[i]为第i个客栈的最低消费,c[i]为第i个客栈的色调a[i,j]为前i个客栈中色调为j的客栈的数目,则有
s[i,j] = ( v[i] <= p ) ? a[i,j] : s[i-1,j] 
f[j] = ( c != j ) ? f[j] : f[j]+s[j]

代码:

 1#include <cstdio>
 2using namespace std ;
 3int main()
 4{
 5 freopen( "2.in""r", stdin ) ;
 6 freopen( "2.out""w", stdout ) ;
 7 long n, m, p, i, j, ans, v = 0, c = 0 ;
 8 long a[50= {0}, s[50= {0}, f[50= {0} ;
 9 scanf( "%ld%ld%ld"&n, &m, &p ) ;
10 for ( i = 1; i <=n; i++ )
11 {
12  scanf( "%ld%ld"&c, &v ) ;
13  if ( v <= p ) 
14   for ( j = 0; j < m; j++ ) s[j] = a[j] ;
15  for ( j = 0; j < m; j++ )
16   f[j] = ( c != j ) ? f[j] : f[j]+s[j] ;
17  a[c]++ ;
18  if ( v <= p ) s[c]++ ;
19 }

20 ans = 0 ;
21 for ( j = 0; j < m; j++ ) ans+= f[j] ;
22 printf( "%ld", ans ) ;
23 return 0 ;
24}


 

posted @ 2012-11-03 20:45 Cool Wings 阅读(625) | 评论 (0)编辑 收藏

2012年7月16日

NOI 2012团体对抗赛

直播中……

===========================我是华丽丽的分割线======================

  7月14日:
    昨天才看到了题目,今天思考了一天,没思路,之后和队友交流了一下,仍然囧……

==============================================================
  7月15日:
    今天,和队友讨论了分工的问题,却发现不好分,于是打算一人写一个(囧……)

============================
===================================

  7月16日:

    尼玛,时间不多了,得开始编程了……
        坑爹啊 , 完全没思路啊,囧rz                           

         队友 oibrusher 神犇已经开始debug了,跪烂烂烂烂烂烂烂烂烂烂烂烂烂烂烂烂

===============================================================

 7月17日:    
 
     oibrusher 神犇在今晚的练习赛中竟然排名第12!!!  
             
         亚历山大    
===============================================================
 7月22日:
     彻底完爆
===============================================================
 8月1日晚:
    练习赛,用了oibrusher的程序,还是被虐了,囧
===============================================================
 8月2日:
    先被刷到了丙组,后来RP爆发,虐了一次场,进入乙组,但后来又被刷到了丙组,直接
淘汰,囧。
    浙江也悲剧了,和甘肃同时被淘汰;
    上海队,因ZX大神用随机化在个人赛中虐场,耗费大量RP,导致上海每次虐场后突然违
规,被直接淘汰;
    邻省宁夏小宇宙爆发,虐爆全场,夺得亚军,表示跪烂;
    范神再次虐场,ORZ ;
===============================================================
  完了

posted @ 2012-07-16 18:16 Cool Wings 阅读(691) | 评论 (0)编辑 收藏

仅列出标题  
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜