
timus
xiexie1357
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1740. Deer is Better!
题意理解:一只鹿每跑k千米用时h小时, 问跑l千米,用时最长是多少?最短是多少?原题链接:http://acm.timus.ru/problem.aspx?space=1&num=1740问题分析:l千米分两段,第一段计算精确的时间,有几个k千米,就用几个h小时;剩下的一段不足k千米,这k千米用时多长?理解k千米用时h小时,这h小时可能只跑了0.00001秒(忽略不计),剩下的时间在终点喝...原创 2018-06-30 09:39:18 · 157 阅读 · 0 评论 -
1226. esreveR redrO
题意理解输入一段文章,逐行按单词翻转输出。问题分析字符串处理,用string类型。单词翻转用栈stack实现。其他逐行读入用getline (cin, line);判断字母用[a,z]和[A,Z]表示;遇到行尾,会丢失最后一个单词,需要在循环体外追加处理栈中单词信息。代码链接https://github.com/xierensong/learngit/blob/master/timus/t1226...原创 2018-07-07 09:55:31 · 306 阅读 · 0 评论 -
1964. Chinese Dialects
题意理解中国有n个人,k种方言,每种方言的人数是a1,a2,...,ak,问同时说k种方言的人有多少?问题分析用贪心法。依次遍历k种方言:步骤1:当遍历第一种方言时,说第一种方言的人数是A1 = min(n, a1);步骤2:当遍历第二种方言时,同时说第一种、第二种方言的人数是A2 = min( A1 + a2 - n, A1), 如果A2 < 0, A2 = 0;依次类推。。。公式为:A...原创 2018-07-07 10:01:31 · 253 阅读 · 0 评论 -
1612. Tram Forum
题意理解输入一段话,从中找出三个关键字,tram,trolleybus和bus,如果tram数量比trolleybus数量多,输出Tram driver;如果trolleybus比tram数量多,输出trolleybus;其他情况,输出bus。问题分析字符串处理问题:使用string库;利用cin逐个读取字符串,对于非空格、非制表符、非行尾符分割的单词,需要单独分解处理;对于上步骤分析出的纯单词匹...原创 2018-07-07 14:15:54 · 198 阅读 · 0 评论 -
1336. Problem of Ben Betsalel
题意理解已知整数n,求m,k,满足条件 m^2 = k^3 * n。问题分析观察条件,易得m=n^2,k=n时,左式=右式=n^4。满足条件。其他此题答案不唯一,例子给出的是一种。上述方法简单,解决问题即可。答案链接https://github.com/xierensong/learngit/blob/master/timus/t1336.cpp...原创 2018-07-21 08:58:18 · 171 阅读 · 0 评论 -
1260. Nudnik Photographer
题意理解一组从1到N的序列数字排序,要求如下1.数字1必须排最左边。2.相邻数字不能相差超过2.问一共有多少种排法?问题分析:用动规来做。设dp[i]为前i个数的排法数量。dp[1] = 1,dp[2] = 1(排法是12),dp[3] = 2(排法是123,132);下面分析dp[i]和dp[1]...dp[i-1]之间的关系:dp[4]的排法有4种,分别为123...原创 2018-07-21 09:48:12 · 246 阅读 · 0 评论 -
1869. New Year Cruise
题意理解两地之间有n个站,设有两个站i,j, a[i][j]表示买从i站到j站票的人数。a[i][j]构成一个n*n矩阵。已知只有一趟车次往返两地,问需要多少节车厢才能满足火车运送要求,每节车厢最多36个座位。问题分析以n=4为例,a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44其中,a11=a...原创 2018-07-21 10:12:22 · 187 阅读 · 0 评论 -
1656. Far Away Kingdom's Army
题意理解:输入n*n个数的序列,n是奇数。要求输出一个新矩阵,要求任一行,任一列大数在中间,两边数逐渐递减,成单峰的效果。问题分析先对n*n个数排序,然后从大到小赋值到对应的矩阵位置上。赋值的方式是先将最大值赋给中心点位置,然后逆时针方向赋值给中心邻接的矩阵位置。可以得到邻接矩阵位置是一个菱形,然后一层层向外扩散,如果扩散点超过矩阵范围跳过即可。其他扩散的结束点需要看好,是...原创 2018-07-21 10:25:42 · 178 阅读 · 0 评论 -
1800. Murphy's Law
题意理解一根长棍面包长度为l厘米,一面涂了黄油,一面没有,涂了黄油的那面朝下。离地h米,顺时针以长棍中心点旋转落下。旋转速度是每分钟w圈。重力加速度为9.81m/s^2。求落地是有黄油的那面还是没有黄油的那面?问题分析物体下落距离公式是S=1/2 * g * t^2。面包下落距离是h*100 - l / 2。下落时间=旋转时间。问题转化为计算最后旋转时刻是落在旋转一周时长的偏移位置...原创 2018-07-21 11:00:39 · 218 阅读 · 0 评论 -
1084. Goat in the Garden
题意理解有一个方形的羊圈,羊圈里有一只吃草的山羊,栓羊的桩子插在方形的中心,栓羊的绳子可长可短,问羊吃草的面积范围多大?问题描述几何面积计算问题:分段函数,设正方形边长为a, 绳子长度为b, 当0<b<=a/2时,面积S=pi * b*b; 当b > sqrt(2) * a时,面积S=a *a; 当a/2 <=b < sqrt(2) * a 时, 面积S = pi*b...原创 2018-07-07 09:38:02 · 236 阅读 · 0 评论 -
1402. Cocktails
题意理解有n种酒,每次取两种不同的酒调和成新的品种,选出两种酒的调和顺序不同就算不同的品种。问一共有多少种品种?问题分析全排列数问题。计算P(N,2) + P(N,3) + ... + P(N,N). 因为计算结果非常大,所以数据类型选择long double类型,最后恢复成整数格式打印。其他long double类型比较特殊,是我知道的c++最大的可以表示的数的类型。代码链接:http://ac...原创 2018-07-07 09:24:32 · 223 阅读 · 0 评论 -
1026. Questions and Answers
题意理解大意是输入一串整数(个数不超过100 000,大小在1~5000),从小到大排好序,然后指定序号,输出序列中对应序号的数。问题分析问题即过程,不需要过多解释,排序用algorithm中的sort函数来做,第二个参数是序列最后一位的下一位置,第三个参数是比较函数指针,该函数返回0,1,表示比较结果。其他无。代码链接https://github.com/xierensong/learngit/...原创 2018-07-07 08:44:31 · 261 阅读 · 0 评论 -
1688. Team.GOV!
题意理解:http://acm.timus.ru/problem.aspx?space=1&num=1688本题是说离开一个团队要交退会费n,加入团队后定期聚餐,可以白吃白喝,团队人数3人,聚餐m次,每次聚餐费用已知,问吃几次可以把会费本钱吃回来,而且能赚点。(n整数; 1 ≤ n ≤ 2 · 109; 0 ≤ m ≤ 3000)问题分析:题目直观易懂。易错点有两个:1个是每次聚餐白吃的钱...原创 2018-06-30 09:53:54 · 120 阅读 · 0 评论 -
1142. Relations
题意理解:http://acm.timus.ru/problem.aspx?space=1&num=1142有N个对象,问有多少种关系?问题分析:用动态规划做:f(a,b) 表示a个对象分成b组的分法。b组的意思是a个对象放到b个篮子里,每个篮子的对象之间是相等关系。初始值:f(0,0) = 1; f(0,1...N) = 0; f(1...N, 0) = 0递归式:f(a,b) = f(...原创 2018-06-30 13:32:46 · 206 阅读 · 0 评论 -
1582. Bookmakers
题意理解足球场外有许多博彩公司,每场比赛有三个比赛结果可以下注,每个结果压中的系数是k1,k2,k3,赌资有1000英镑,问题是如果保证在最坏情况下获得最大收益。问题分析最坏情况下的最大收益怎么理解?从题目例子3.5/3.5/3.5获得利益最大。1000分成三份,a1,a2,a3,保证a1*k1=a2*k2=a3*k3。三个等式解三个变量,没问题。然后最大收益是a1*k1 - 1000。其他这个方...原创 2018-07-13 08:50:59 · 157 阅读 · 0 评论 -
1219. Symbolic Sequence
题意理解输出一个1 000 000长度小写字母字符串。满足三个条件:每个字符不得超过40000次两个字符的子串不得重复出现超过2000次三个字符的字串不得重复出现超过100次问题分析选择遍历a-z 26个字母中三个字母的全排列,将它们排成一排,凑够1 000 000长度,即可满足要求。其他咋一看,没啥思路,其实只要列出满足条件的字符串即可;重复出现要求长度不一定能被3整除,所以需要输出每个字符时都...原创 2018-07-13 09:02:21 · 148 阅读 · 0 评论 -
1683. Fridge
题意理解长度n的折纸,把它折成长度为1的折纸,求最少次数的折法?输出序列(每次折叠的剩余次数)。问题分析每次对折:若长度不是偶数,n/2长度折叠。折叠次数是log(2,n), 每次折叠后的序列值是除2的商。其他代码链接https://github.com/xierensong/learngit/blob/master/timus/t1683.cpp...原创 2018-07-13 09:11:59 · 179 阅读 · 0 评论 -
1123. Salary
题意理解给出长度不超过2001的数字串,求大于这个数字串的最小回文字符串。问题分析数字长度2001,没有整数能表示这么大的数,只能用字符串保存。回文字符串,就是前半部分和后半部分对称,也就是前半部分决定后半部分。方法是:取前半部分字符串,计算对应的回文字符串,如果回文字符串大于原字符串,满足题目要求,输出回文字符串;如果回文字符串小于原字符串,将前半部分字符串当成数字+1,再计算新的回文字符串进行...原创 2018-07-13 09:24:10 · 191 阅读 · 0 评论 -
1283. Dwarf
题意理解共有金币n,每次以当前金币数的百分比a取走,问取几次剩余金币小于等于m?问题分析公式如下,n * (1-a * 0.01)^k > m ,求k的值。改成递推式即可。其他这题是我近期做的最快的一次,虽然简单但还是值得高兴。不容易啊,最近比算法虐的好苦,难度不到200的题,在我看来也是一座座大山啊。代码链接https://github.com/xierensong/learngit/bl...原创 2018-07-13 09:30:33 · 321 阅读 · 0 评论 -
1114. Boxes(timus)
题意理解A个红球、B个蓝球放入一排盒子(N)中,盒子可以空,球可以放可以不放,红球蓝球可以混合放也可以单放。问有多少种方放法?问题分析组合数学问题红球、蓝球分开计算放法,然后将两数相乘。子问题:A个相同的球放到N个不同的盒子,球可以剩余,也可以有空盒子,问有多少种放法?子问题解答:用隔板法一步转化:最终放法是0个球放到N个不同盒子(球都放完)的数量, 加上1个球放到...原创 2018-07-24 14:30:33 · 576 阅读 · 0 评论 -
1885. Passenger Comfort
题意理解飞机爬升总高度h,爬升完总时间不超过t,最大速度v,速度超过x乘客会耳鸣,求乘客在飞机爬升过程中,最长耳鸣的时长和最短耳鸣的时长。问题分析先计算平均速度 h/t,:如果h/t < x,说明可以以理想速度完成爬升,耳鸣时长最短为0;设最长耳鸣时长为u,以无限接近x的耳鸣的速度飞完。整个过程都是耳鸣时长,为h/x。如果h/t > x, 说明速度不够,有段距离必须...原创 2018-07-21 11:31:45 · 5135 阅读 · 0 评论