上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页
摘要: Description 给出一组长度为nn的序列,a1​,a2​,a3​,a4​...an​, 求出这个序列长度为k的严格递增子序列的个数 Input 第一行输入T组数据 T(0≤T≤10)第二行输入序列大小n(1≤n≤100),长度k(1≤k≤n)第三行输入n个数字ai​(0≤ai​≤1e9) O 阅读全文
posted @ 2018-08-06 16:17 LesRoad 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 题目描述 有 N 级的台阶,你一开始在底部,每次可以向上迈最多 K 级台阶(最少 1 级),问到达第 N 级 台阶有多少种不同方式。输入多组输入,两个正整数N(N ≤ 1000),K(K ≤ 100)。 输出 一个正整数,为不同方式数,由于答案可能很大,你需要输出 ans mod 100003 后的 阅读全文
posted @ 2018-08-01 23:13 LesRoad 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Problem Description Chiaki often participates in international competitive programming contests. The time zone becomes a big problem.Given a time in B 阅读全文
posted @ 2018-07-25 19:51 LesRoad 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 爱丽丝和鲍博喜欢玩一维战舰的游戏。他们在一行有n个方格的纸上玩这个游戏(也就是1×n的表格)。 在游戏开始的时候,爱丽丝放k个战舰在这个表格中,并不把具体位置告诉鲍博。每一只战舰的形状是 1×a 的长方形(也就是说,战舰会占据a个连续的方格)。这些战舰不能相互重叠,也不能相接触。 然后鲍博会做一系列 阅读全文
posted @ 2018-07-22 19:54 LesRoad 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 排序后用二分,一直卡在最后一组数据,最后改成long long才AC... 阅读全文
posted @ 2018-07-21 18:51 LesRoad 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 【思路】 既然是or操作,将数转化为二进制,数位是1,对应的数组元素+1,再将x转为成二进制,只要查找X为1的位置,将之前存放的数组数字找个最小的输出就可以了。 但是并不是所有的数都要参与or,因为有些数的位数>X,显然这些数是不用删除的,所以不用让这些数加到数组里。还有哪些数呢?当有些数的位数是1 阅读全文
posted @ 2018-07-21 11:54 LesRoad 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 思路 做法就是先把圆的直径化成线段,然后将线段的起点从小到大排序,以第i条线段为例,找i+1~n条中这样一条线段,满足是第一条且起点比第i条的终点要大(即满足相离),那么包括这条线段之后的线段也满足和第i条线段相离。顺序查找的话可以用二分来提高时间效率。 code 阅读全文
posted @ 2018-07-21 10:01 LesRoad 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 本来想着用尺取的思想,不过会超时。利用等差数列S = na+n*n(n-1)/2,得a = (2*S-n*(n-1))/(2*n),然后遍历n,只要满足a是整数就可以,这样复杂度从O(S)变成了O(sqrt(S))。 阅读全文
posted @ 2018-07-19 18:50 LesRoad 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 这道题我想的方法是用栈,每次去出栈顶两元素,比较是否相对,相对的话合并后压入栈。类似括号匹配。 阅读全文
posted @ 2018-06-27 22:22 LesRoad 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 所有线段按起点从小到大排序,然后比较出最大的重叠部分。比如第i条线段和第j条线段进行比较找出重叠部分(j>i),当第j条线段的右端点<第i条线段的右端点,此时可以让i继续比较后面的线段;如果第j条线段的右端点>第i条线段的右端点,重叠部分并不会继续增大,所以需要让i+1条线段和后面的比较。 阅读全文
posted @ 2018-06-27 21:04 LesRoad 阅读(356) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页