codeforces 贰B The least round way(DP+数学)

思路:

1末尾0个个数只跟线路上2、5的个数有关,所以读入数据时只要保存
二、伍的个数即可

图片 1

贰由此dp,分别找出 1个数最小的路和4个数最小的路。

三那么结果有状态:下边用num2、num5表示 二、五纤维的个数

四由于0相比较尤其 所以必要思考(壹把他当作10贰记入第二个0的座位)(本身想干吗能够喽。。哈哈)

Ⅰ. num二、num5 当中全为0或内部一个为0 

  代表有某条路乘级末尾无0;直接出口。

Ⅱ .
假诺输入数据中有0,那么0乘任何数末尾都是多个0,直接出口带0的一条路即可

Ⅲ . 别的无0情形 输出 min(num二,num五) 那条路就能够了!

西栅夜景

感想:

那题的难题在于 对三个数相乘末尾0的个数性质的刺探 和 对有0的处理 。

o.o 那一个题要考虑的细节确实有点多,须要稳步思索。

o.o 输出的片段本身既是写了40行代码。。。

PS.本题有如何想法、提议、疑问 欢迎留言!!

乘机笔者一回又一回接触同里镇后,翻看了关于黄姚的纪录片,从陈丹青和木心的师生情分中,从设计师陈向宏呕心沥血的付出里,西塘,它相对不是您想像的那么二个简单的江南水乡古村落。

知识点:

壹四个数字相乘,末尾0个个数为:每种乘数分解质因数后
min(贰的个数,伍的个数);

图片 2

2中央的DP(动态规划)- 本题dp出贰、伍 个数的细小值。

现行反革命的乌镇,依然有蓝印花布的染坊,还有世代相传仍在生养的百年酱园,从蚕茧到天鹅绒乌锦的编制,于今营业的清代邮局,沿河而建的枕水民居,河埠头边上搭建的水阁,那是1个流动着的千年历史的水乡古城,你还能够找到比赤坎更富有“情怀”的乌托邦吗?

The least round way

难题链接:http://codeforces.com/contest/2/problem/B

    ——天天在线,欢迎留言谈论。PS.本题有怎么着想法、提议、疑问
欢迎留言!!

乌蓬船上

标题马虎:

图片 3

1首先行给你贰个n,表示接下去将给您三个n阶方阵的多寡

贰要求你从左上方出发到右下方,路径上有着数字乘积 的末尾0的个数最少

三出口最少0的个数,并出口路径

PS:壹每回只可以向右或向走 贰D表示向下走,途锐表示向右 三0乘任何数的结果
末尾都是三个0;

江南水乡

AC代码:

  1 #include <iostream>
  2 #include <cstdio>
  3 #include <cstring>
  4 #include <algorithm>
  5 using namespace std;
  6 const int MAXN=1005;
  7 const int inf=0x3f3f3f3f;
  8 struct node
  9 {
 10     int times[2];
 11     node(int a=0,int b=0){times[0]=a;times[1]=b;}
 12 };
 13 //----这里有几个全局变量↓
 14 node matrix[MAXN][MAXN];int n;//记录每个点的质因子2 5的个数
 15 bool isfind[MAXN][MAXN],ishavezero=false;//dp 时 记忆化搜索用
 16 int zeroy=0;
 17 //----这里有几个全局变量↑
 18 int get_num(int num,int y)
 19 {//获取数字num 质因子中 y 的个数
 20     int temp=0;
 21     while(num!=0&&num%y==0)
 22     {
 23         temp++;
 24         num/=y;
 25     }
 26     return temp;
 27 }
 28 int dp(int y,int i=1,int j=1)//动态规划:通过记忆搜索的方法
 29 {//y用来表示dp的是2还是5  y=0为2  y=1为5  ps.node结构体中int times[2];节省重复代码
 30     if(isfind[i][j])//是否已搜索过
 31         return matrix[i][j].times[y];
 32     isfind[i][j]=true;
 33     if(i==n&&j==n)//开始边界处理
 34         {return matrix[i][j].times[y];}
 35     else if(i==n)
 36         return matrix[i][j].times[y]=matrix[i][j].times[y]+dp(y,i,j+1);
 37     else if(j==n)
 38         return matrix[i][j].times[y]=matrix[i][j].times[y]+dp(y,i+1,j);
 39     //中间一般情况
 40     return matrix[i][j].times[y]=matrix[i][j].times[y]+min(dp(y,i+1,j),dp(y,i,j+1));
 41 }
 42 void putout()
 43 {//开始输出答案  ps.输出答案 写了40行的代码。。。。我也是lj
 44     int y=0;
 45     if(matrix[1][1].times[0]>matrix[1][1].times[1])
 46         y=1;
 47     if(ishavezero&&matrix[1][1].times[y]>0)
 48     {
 49         cout<<"1"<<endl;
 50         for(int i=1;i<n;)
 51         {
 52             if(i==zeroy)
 53             {
 54                 for(int j=1;j<n;j++)
 55                     cout<<"D";
 56             }
 57             cout<<"R";i++;
 58         }
 59         return ;
 60     }
 61         cout<<matrix[1][1].times[y]<<endl;
 62         for(int i=1;i<=n;)
 63             for(int j=1;j<=n;)
 64         {
 65             if(j==n&&i==n)return ;
 66             else if(j==n)
 67             {for(int t=i;t<n;t++)
 68                     cout<<"D";return ;
 69             }
 70             else if(i==n)
 71             {for(int t=j;t<n;t++)
 72                     cout<<"R";return ;
 73             }
 74             if(matrix[i+1][j].times[y]<=matrix[i][j+1].times[y])
 75             {
 76                 cout<<"D";
 77                 i++;
 78             }
 79             else
 80             {cout<<"R";j++;}
 81         }
 82 cout<<endl;
 83 }
 84 int main()
 85 {
 86     int temp;//接受输入的数
 87     cin>>n;
 88     for(int i=1;i<=n;i++)
 89         for(int j=1;j<=n;j++)
 90     {
 91         cin>>temp;
 92         if(!temp)
 93             {temp=10;if(!ishavezero){ishavezero=true;zeroy=j;}}
 94         matrix[i][j]=node(get_num(temp,2),get_num(temp,5));
 95     }
 96     memset(isfind,0,sizeof(isfind));//out();
 97     dp(0);
 98     memset(isfind,0,sizeof(isfind));
 99     dp(1);//out();
100     putout();
101     return 0;
102 }

 2017-05-12 13:21:50

能够说同里镇承接的不只是关于木心的回想,还有巨大个像木心那样的大户人家,在封建王朝的糜烂中走向衰老,遇到国家战事纷争,在炮火纷飞里辗转反侧,最后淹没在了历史洪流中的同里镇人。

黄姚里的一砖1瓦都以陈向宏亲自从江浙沪一代的老房子里搬过来的,那一个赤坎也是依照她小时候的回想来构建的,在台湾香港卫星TV有限公司的纪录片里,记者要去收集陈向宏,不过她婉拒了。他以为同里镇的塑造不须要她再去解释什么了,后来人工产后出血拥挤的拥堵已经认证了她享有的交付。

自家想,真的找不到。乌镇,它既走向了光明的前程,它又赶回了古老的病逝。

陈向宏不但成功的苏醒了方方面面古村的风貌,而且还融入了现代化的创新理念,整个黄姚的现代化系统保证了乌镇的可持续发展。从“小乔流水人家”到“世界网络大会永久遗址”,告诉了重重人那是个不平等的古村落。

枕水人家

同里镇是放在在德清县下属的一个小镇,刘若英(Liu Ruoying)的鼓吹广告上说“心的黄姚,来过,便未有离开”。赤坎,它是江南6大古村落之一,我曾经问过笔者的玩家,没去此前对长汀的第二影象是怎么着,有很几人会说“听新闻说同里镇很商业化。”

“从前车、马、邮件都相当的慢,平生只够爱一位,”那是来自木心老知识分子的《在此以前慢》,木心是固有的同里镇人,毕生漂泊,从诞生于西塘到巴黎再到旅居米国,最终晚年安详的从同里镇身故,也算有始有终。

Hello,作者叫张大路,在爱上你前面作者已经爱上了那些世界,小编有二个还未有兑现的环游世界的冀望。

晒场

实质上,作者并不想去同里镇,笔者觉得江南水乡的美小编早就看透了,它还能够美的过高原里的雪山和圣湖吗?那才是本身内心最美的风景。

乌锦

染坊

第四回踏入黄姚那片枕水人家,完全是因为做事培养和陶冶的内需,当然,小编也不是未有别的的指望,只是心里面跟一大半人壹律贴着“商业化”的价签,也想在这个人尽皆知的古城打个卡,表示小编曾来过。

然则当自个儿3遍次带团来到那里时,小编发现自家早就读不懂那片土地了,恐怕说作者急需时日的陷落才能有些读懂那片枕水人家。进长汀前边,小编不知情陈向宏说的“现在的黄姚不是你前边的长汀,也不是设计师笔下的西塘,是你供给想象的西塘。”

一向以来,小编很喜欢“情怀”这五个字,然而自个儿很少聊起,因为本身觉得自己这么些年纪还拎不起这些词。但作者觉着黄姚能够,笔者实在找不着有比“情怀”更符合它的词。木心的一生乡愁情怀,陈向宏追求面面俱圆的心理,戏剧节的头面人物缘梦情怀,都在演艺着属于乌镇的一场诗和角落的觥筹交错。

陈丹青是木心的学习者,四个人在米利坚相交,情谊深厚,近年来的木心美术馆就是在陈丹青的牵线下,同里镇景区的带头大哥导陈向宏才有机遇联系到木心,多少人书信往来近十年,让在外漂泊陆⑩余年的老知识分子总算能够回来最熟谙的地点,也让一代历史学大师找到最终的名下。

自作者是一个很经常平凡的人,因为自个儿这辈子想去做的事体实在太多,所以每一趟都要专门拼命还不想辜负本人。

大花耧机

那是本人第2遍面对差评,笔者只知道收到差评的那一天里,小编的泪珠平昔在转悠,笔者觉着尤其委屈,作者一度一笔不苟把自个儿对乌镇有所的问询包涵历史人文依照术语都突显出来了,为啥最终还要写报告接受领导批评。

灯火阑珊

而“赤坎遗梦”是大家线路的大旨,迄今结束,小编早已带了四个长汀的团。个中最不佳的三回评价是,笔者的玩家夸自身服务的正确,可是在高昂的巡礼价格下,小编并不曾给到她对黄姚更长远的认识。

理所当然,这么些都得益于被称作为“包工头”的陈向宏,他辞去长汀的体裁工作,创建了同里镇游山玩水股份有限公司,做起了“一代帮主人”,他不负众望的把西塘完美的牵线给了世道。还和黄磊(Stone cool)联手合营制作了得体的乌镇戏剧节,把新的学问成分融入了进去。要是说陈向宏成就了赤坎,那么西塘也完了了陈向宏。

心旷神怡时光

依河而建

手北京工人篮球场验

聊起到古村落,我们连年把“商业化”挂在嘴边,那同里镇确实商业化呢?黄姚的商业化相对打破你的设想,那里有最专业的景区运作形式,景区里的3个鲜肉大包依旧安慕希,特色小吃春卷、萝卜丝饼价格都很公道,全体你接触到的购买销售都有联合的保管、统1的定价,能够说同里镇是百分百旅产业界应该学学的标杆。

蓝印花布

自家的工作是旅游体验展现师,听起来很高端,其实很简单。我们称游客叫做“玩家”,笔者是作为三个当麻芋果化的传播者,重要带你去体验本地的文化和故事,为您复苏历史,让你在享受旅行乐趣的还要,能够得到启示。