描述 如下图所示,在X轴上方一共有N个等腰直角三角形.这些三角形的斜边与X轴重合,斜边的对顶点坐标是(Xi, Yi). (11,5) (4,4) /\ /\(7,3) \ / \/\/ \ / /\/\ \ / / /\ \ \ -------------------------> 你能求出这些三角形覆盖的面积之和吗? (重叠部分只算一次) 输入 第一行包含一个整数N. 以下N行每行包含两个整数(Xi, Yi),代表第i个三角形顶点的坐标. 对于30%的数据,1 ≤ N ≤ 100, 0 ≤ X…
热门号码 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector> #include<algorithm> #include<iostream> #include<map> #include<queue> using std::vector; using std::queue; using std::map; using s…
描述 程序员常常需要给变量命名.给函数命名.给项目命名.给团队命名…… 好的名字可以大大提高程序员的主观能动性,所以很多程序员在起名时都会陷入纠结和烦恼. 小Hi希望给新的项目起个完美的名字.首先小Hi给出了新项目的N个长度相等(均为L)的关键字,他希望能找到一个完美名字:这个名字的长度恰好为N+L-1,并且其中N个长度为L的子串恰好是给定的N个关键字. 例如对于关键字cat.ate.tea有完美的名字:catea. 给定N个长度相等的关键字,请你帮小Hi找到一个完美的名字. 输入 第一行包含一…
描述 小Ho居住的城市有N条公交车线路,其中第i条线路上有Ki个车站. 某些线路之间会有公共的车站,小Ho可以在这些车站从一条线路换乘到另一条线路. 现在给定N条公交车线路以及两个车站S和E,你能帮助小Ho计算从S到E最少换乘几次公交车吗? 输入 第一行包含三个整数N,S和E. 以下N行每行描述一条线路.第一个整数Ki代表该条线路包含的车站数.之后Ki个整数代表车站的编号. 注意车站编号不一定连续. 对于50%的数据,1 ≤ N ≤ 1000,  1 ≤ Ki ≤ 100 对于100%的数据,1…
描述 1 2 3 ABC DEF 4 5 6 GHI JKL MNO 7 8 9 PQRS TUV WXYZ * 0 # 我们知道电话拨号盘上数字会有若干字母对应,例如2对应ABC,7对应PQRS. 这是因为在北美尤其是在美国,一些大公司常常把代表其企业名称.产品名称.行业名称等的特定英文单词或字母组合嵌入其电话号码中.比如,苹果公司在线商店Apple Store的订购电话是:1-800-MY-APPLE (1-800-692-7753).这种做法的主要目的在于宣传公司标志并且便于受众记忆和使用…
描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望选择若干道不同的菜品,使得总价在不低于X元的同时尽量低. 你能算出这一餐小Ho最少消费多少元吗? 输入 第一行包含两个整数N和X,(1 <= N <= 20, 1 <= X <= 100) 第二行包含N个整数A1, A2, ..., AN.(1 <= Ai <= 100)…
[Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素,从小到大放在队列中,再把b按顺序放入另一个队列中,每次取出两队列中较小值即可. #include<bits/stdc++.h> using namespace std; typedef long long ll; ]; queue<int>q1, q2; vector<int&g…
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析…
描述 如下图所示,在X轴上方一共有N个三角形.这些三角形的底边与X轴重合,底边上两个顶点的坐标分别是(Li, 0)和(Ri, 0),底边的对顶点坐标是(Xi, Yi).其中Li ≤ Xi ≤ Ri 且 Li < Ri. 你能求出这些三角形覆盖的面积之和吗? (重叠部分只算一次) 输入 第一行包含一个整数N.(1 ≤= N ≤ 100) 以下N行每行包含4个整数Li, Ri, Xi, Yi.(1 ≤ Li < Ri ≤ 100000 且 Xi ∈ [Li, Ri], 1 <= Yi ≤ 1…
并没有第四题.(还不会矩阵乘法加速线性数列) 题目1 : 数位翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 n,你可以进行若干次操作,每次操作可以翻转 n 的二进制表示下的某一位,即将 0 变成 1,1 变成 0 现在小 Hi 想知道,至少需要多少次操作,才能将 n 变成 n-1 输入 一个正整数 n 1 ≤ n ≤ 109 输出 输出最少的操作次数 签到题,模拟一下取出各位二进制数即可,极水,怒A. #include<cstdio> #inc…