摘要:
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 阅读全文
摘要:
题目描述 有 N 级的台阶,你一开始在底部,每次可以向上迈最多 K 级台阶(最少 1 级),问到达第 N 级 台阶有多少种不同方式。输入多组输入,两个正整数N(N ≤ 1000),K(K ≤ 100)。 输出 一个正整数,为不同方式数,由于答案可能很大,你需要输出 ans mod 100003 后的 阅读全文
摘要:
Problem Description Chiaki often participates in international competitive programming contests. The time zone becomes a big problem.Given a time in B 阅读全文
摘要:
爱丽丝和鲍博喜欢玩一维战舰的游戏。他们在一行有n个方格的纸上玩这个游戏(也就是1×n的表格)。 在游戏开始的时候,爱丽丝放k个战舰在这个表格中,并不把具体位置告诉鲍博。每一只战舰的形状是 1×a 的长方形(也就是说,战舰会占据a个连续的方格)。这些战舰不能相互重叠,也不能相接触。 然后鲍博会做一系列 阅读全文
摘要:
排序后用二分,一直卡在最后一组数据,最后改成long long才AC... 阅读全文
摘要:
【思路】 既然是or操作,将数转化为二进制,数位是1,对应的数组元素+1,再将x转为成二进制,只要查找X为1的位置,将之前存放的数组数字找个最小的输出就可以了。 但是并不是所有的数都要参与or,因为有些数的位数>X,显然这些数是不用删除的,所以不用让这些数加到数组里。还有哪些数呢?当有些数的位数是1 阅读全文
摘要:
思路 做法就是先把圆的直径化成线段,然后将线段的起点从小到大排序,以第i条线段为例,找i+1~n条中这样一条线段,满足是第一条且起点比第i条的终点要大(即满足相离),那么包括这条线段之后的线段也满足和第i条线段相离。顺序查找的话可以用二分来提高时间效率。 code 阅读全文
摘要:
本来想着用尺取的思想,不过会超时。利用等差数列S = na+n*n(n-1)/2,得a = (2*S-n*(n-1))/(2*n),然后遍历n,只要满足a是整数就可以,这样复杂度从O(S)变成了O(sqrt(S))。 阅读全文