摘要: 解题思路 1. 100和+100是没有用的,只要知道左边的飞船轴和右边的飞船轴离y轴一样近即可。为简单起见,我们将左边的轴设为 1,右边的设为1。 2. 某个点能摧毁的飞船一定是因为有两个飞船关于这个点对称。即若( 1,y1)和(1,y2)能互相摧毁,说明他们关于(0,(y1+y2)/2)对称。 3阅读全文
posted @ 2018-06-17 12:33 zhangjiuding 阅读(12) 评论(0) 编辑
摘要: 解题思路(暴力解法) 1. 平行于x轴的正方形和与x轴成45度倾斜的正方形相交的点中必定有整数点。即若两正方形相交,必定存在整数i,j,使(i,j)同时属于两个正方形。 2. 我们把两个正方形中的整数点都找出来,看一下有没有重复点,就可以判断是否相交。 代码 c++ include using na阅读全文
posted @ 2018-06-17 12:15 zhangjiuding 阅读(13) 评论(0) 编辑
摘要: 解题思路 1. 将骑士按力量从小到大排序,到第i个骑士的时候,前面的i 1个骑士他都可以击败,找出金币最多的k个。 2. 用multiset存金币最多的k个骑士的金币数,如果多余k个,则删除金币数最小的,直到只有k个数字。 我就是因为没有用multiset在最后5分钟被hack了。 代码 c++ i阅读全文
posted @ 2018-06-17 12:06 zhangjiuding 阅读(19) 评论(0) 编辑
摘要: 题意 从x数组中找到最多的y数组中有的数字,按在x数组中出现的顺序输出。 注意 这题x数组和y数组都不会出现重复数字。 代码 c++ include using namespace std; typedef long long ll; int x[15],y[15]; int main(){ ios阅读全文
posted @ 2018-06-17 11:54 zhangjiuding 阅读(2) 评论(0) 编辑
摘要: 解题思路:动态规划 1. 遍历点i,如果从前一个点i 1走到这个点i不需要伞,则疲劳值不变dp[i] = dp[i 1]。 2. 如果前一个点i 1走到这一个点i需要伞,则从前面找一把伞。 3. 即遍历前面的每个点j,如果点j处有伞,dp[i] = min(dp[i], dp[j]+(i j) fi阅读全文
posted @ 2018-06-16 20:13 zhangjiuding 阅读(6) 评论(0) 编辑
摘要: 前置问题:51nod 1102 面积最大的矩形 附上链接: "51nod 1102 面积最大的矩形" "这题的题解博客" 需要了解的知识:单调栈,在前置问题中已经讲解。 解题思路 1. 对每行求左边连续1的个数,得到数组a[i][j]; 2. 对于第j列,找出每个位置i的数字a[i][j]上面第一个阅读全文
posted @ 2018-06-16 12:19 zhangjiuding 阅读(3) 评论(0) 编辑
摘要: 题面1:  题面2:  两道题除了数据范围不同,没有任何差异,两道题都可以o(n)(单调栈),o(nlog(n))(我自己的做法)解决。 解题思路1:(单调栈) 1. 对于每个点找到右边第一个比它小的位置con1,并且找到左边第一个比它小的位置con2。 2. 对于每个点更新答案为ans = m阅读全文
posted @ 2018-06-16 11:33 zhangjiuding 阅读(6) 评论(0) 编辑
摘要: 解题思路: 1. 只有尾数为25,50,75,00的数才可能是25的倍数。 2. 对字符串做4次处理,以25为例。 a. 将字符串中的最后一个5移到最后一位。计算交换次数。(如果没有找到5,则不可能凑出25,考虑50、75、00) b. 字符串已经改变,将此时最后一个2移到倒数第二位。计算交换次数。阅读全文
posted @ 2018-06-15 22:00 zhangjiuding 阅读(6) 评论(0) 编辑
摘要: 嵌入式系统的概念 1. 第一种定义 :嵌入式系统是以应用为中心、计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2. 第二种定义 :把基于处理器(通用处理器和嵌入式处理器)的设备成为计算机,把计算机分为两大部分,即通用计算机和嵌入式计算机。嵌入阅读全文
posted @ 2018-06-13 17:19 zhangjiuding 阅读(7) 评论(0) 编辑
摘要: 解题思路: 1.dfs所有的水,顺便计数大小并判断是不是湖。 2.如果是湖,将大小和坐标存下来。 3.对湖按大小从小到大排序。 4.dfs前(湖的数量-k)个湖,用*填充这些湖。 代码:阅读全文
posted @ 2018-06-01 12:00 zhangjiuding 阅读(8) 评论(0) 编辑
摘要: 解题思路: 1.对物品i bfs,更新每个小镇j获得每个物品i的最短距离。 2.时间复杂度o(n*k),满足2s的要求。 代码:阅读全文
posted @ 2018-05-30 17:41 zhangjiuding 阅读(58) 评论(0) 编辑
摘要: 这题真的只能靠直觉了,我没法给出详细证明。 解题思路: 1.交换3n次或者7n+1次,一定会出现一个为奇数,另一个为偶数。 2.用最朴素的方法,将n个数字归位,计算交换次数。 3.判断交换次数是否与3n的奇偶性相同,相同输出Petr; 不相同则一定与7n+1的奇偶性相同,输出Um_nik。 代码:阅读全文
posted @ 2018-05-30 11:30 zhangjiuding 阅读(79) 评论(0) 编辑
摘要: 刚开始三重循环tle test11。后来想了个双重循环的方法。 解题思路: 1.双重循环一次,用一个一位数组存j和比j小的i的和的最小值。 2.再双重循环一次,找到比j大的数k,更新结果为ans=min(ans, k+比j小的i的和的最小值)。 3.如果第二次循环没有更新ans,输出-1;若更新了输阅读全文
posted @ 2018-05-30 11:20 zhangjiuding 阅读(36) 评论(0) 编辑
摘要: 解题思路: 1.题意:判断x^y和y^x谁大谁小。 2.由于x^y和y^x太大了,时间复杂度也不允许,所以做同等变换,比较e^(ylnx)和e^(xlny)。 3.即为比较ylnx和xlny的大小。 注意: 由于涉及到浮点数,我们需要处理一下误差,若差值在1e-6范围内视为相等。 代码:阅读全文
posted @ 2018-05-30 11:08 zhangjiuding 阅读(26) 评论(0) 编辑
摘要: 解法: 1.先将对应的字符串存入map。 2.然后将输入的串的second置为空。 3.输出6-n,输出map中的非空串。 代码:阅读全文
posted @ 2018-05-30 11:04 zhangjiuding 阅读(11) 评论(0) 编辑