T1
80分算法
写了一个最水的贪心(毫无正确性),每次取最大得数给 Bob,取完后其他的给 Alice,用 max_element
很短就能实现…
pb_ds??
平板电视??
pb_ds是G++编译器默认附带的一个扩展库,全称是Policy-Based Data Structures(官方传送门)…
pb_ds库里含有许多数据结构,如HashTable,trie,rb_tree,priority_queue…
N 个景区,任意两个景区之间有一条或多条双向的路来连接,现在 Mr.Zeng 想找一条旅游路线,这个路线从 A 点出发并且最后回到 A 点,假设经过的路线为 V1,V2,….VK,V1,那么必须满足 K>2,就是说至除了出发点以外至少要经过 2 个其他不同的景区,而且不能重复经过同一个景区。不存在这样的景区 X:从 X 出发不到达其他景区马上回到 X。现在 Mr.Zeng 需要你帮他找一条这样的路线,并且长度越小越好。
第一行包含两个正整数:景区个数 N(N<=100),另一个是道路的数目 M(M<10000)。
接下来 M 行每行描述一条路,每一行有三个正整数 A,B,C,其中 A 和 B 分别表示这条路连接的两个景区的编号,C 表示这条路的长度(不超过500的正整数)。
如果这条观光路线是不存在的话就显示“No solution.”(有句号);
如果这条观光路线存在就输出经过的最小长度。
中考成绩出来了,许多考生想知道自己成绩排名情况,于是考试委员会找到了你,让你帮助完成一个成绩查找程序,考生只要输入成绩,即可知道其排名及同名次的人有多少。
第一行一个正整数 n(1<=n<=1500),表示一共有 n 个考生;
第二行一个正整数 k(1<=k<=n),表示一共有 k 个待查分数;
第三行 n 个数是以空格隔开的从大到小排列的 n 个学生成绩;
第四行 k 个数是待查的成绩。
共输出 k 行,每行三个数,分别用一个空格隔开:第一个数为待查成绩所对应的名次;第二个数为同名次的人数;第三个数为分数高于该成绩的人数。
若查找不到,本行只输出一个单词“fail!”(fail后面加一个惊叹号,引号不输出)。
在一个平面直角坐标系上,一个机器人处于某格点(X0,Y0)处,格点的横纵坐标均为整数。有一个遥控器可以让机器人实现9种可能的运动方式,它们依次是:
(1)向左走一个单位;
(2)向右走一个单位;
(3)向上走一个单位;
(4)向下走一个单位;
(5)走到格点(X0,Y0)关于X轴的对称点;
(6)走到格点(X0,Y0)关于Y轴的对称点;
(7)走到格点(X0,Y0)关于原点的对称点;
(8)以格点(X0,Y0)与原点的连线为轴,逆时针旋转90度;
(9)以格点(X0,Y0)与原点的连线为轴,顺时针旋转90度;
其中,以横坐标X值增大为向右,纵坐标Y值增大为向上。
现在已知机器人的初始位置(X0,Y0)以及遥控器此次发出指令的编号 i(i为正整数,并且1 \leq i \leq 9),请你求出机器人执行指令后所到的新位置坐标(X,Y)。
给出数列 $a_1, a_2,\cdots,a_n(0 \leq a_i \leq 10 ^ 9)$,有关序列的两种操作。
第一行包含两个数 $n(1 \leq n \leq 10 ^ 5)$ 和 $m(1 \leq m \leq 10 ^ 5)$,表示序列的长度和操作次数。
接下来的一行有 $n$ 个数,以空格隔开,表示 $a_1, a_2, \cdots, a_n$。
接下来的 $m$ 行,每行为有以下两种格式之一:
0 1 r x ,表示 $a_l, a_{l+1},\cdots,a_r$ 加上 $x$。
1 i ,求 $a_i$。
对于每次询问,输出单独一行表示答案。
给出序列 $a_1,a_2, \cdots ,a_n(0 \leq a_i \leq 10^9)$,有关于序列的两种操作:
第一行包含两个数 $n(1 \leq n \leq 10^5)$ 和 $m(1 \leq m \leq 10^5)$,表示序列长度和操作次数。
接下来一行 $n$ 个数,以空格隔开,表示 $a_1, a_2, \cdots, a_n$。
接下来 $m$ 行,每行为以下两种格式之一。
0 i x
,表示 $a_i$ 加上 $x$。
1 l r
,求 $max{ a_l,a_{l+1}, \cdots, a_r }$。
对于每次询问,输出单独一行表示答案。
W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合 E={E1,E2, $\cdots$ ,Em},和进行这些实验需要使用的全部仪器的集合 I={I1, I2, $\cdots $In}。 实验 Ej 需要用到的仪器是 I 的子集 Rj∈I。配置仪器 Ik 的费用为 Ck 美元。实验 Ej 的赞助商已同意为该实验结果支付 Pj 美元。W 教授的任务是找出一个有效算法, 确定在一次太空飞行中要进行哪些实验并因此而配置哪些仪器才能使太空飞行的净收益最大。这里净收益是指进行实验所获得的全部收入与配置仪器的全部费用的差额。
对于给定的实验和仪器配置情况,编程找出净收益最大的试验计划,输出最大收益值。
为了避免餐厅过分拥挤,FJ要求奶牛们分3批就餐。每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第3批就餐的奶牛排在队尾,队伍的前端由设定为第1批就餐的奶牛占据,中间的位置就归第2批就餐的奶牛了。由于奶牛们不理解FJ的安排,晚饭前的排队成了一个大麻烦。
第i头奶牛有一张标明她用餐批次 D_i(1 <= D_i <= 3) 的卡片。虽然所有 N (1 <= N <= 30,000) 头奶牛排成了很整齐的队伍,但谁都看得出来,卡片上的号码是完全杂乱无章的。 在若干次混乱的重新排队后,FJ找到了一种简单些的方法:奶牛们不动,他沿着队伍从头到尾走一遍,把那些他认为排错队的奶牛卡片上的编号改掉,最终得到一个他想要的每个组中的奶牛都站在一起的队列,例如 111222333 或者 333222111。哦,你也发现了,FJ不反对一条前后颠倒的队列,那样他可以让所有奶牛向后转,然后按正常顺序进入餐厅。
你也晓得,FJ是个很懒的人。他想知道,如果他想达到目的,那么他最少得改多少头奶牛卡片上的编号。所有奶牛在FJ改卡片编号的时候,都不会挪位置。
茜听说了一个骇人听闻的消息,一场流星雨即将袭击整个农场,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,贝茜开始担心自己的安全问题。以FJ牧场中最聪明的奶牛的名誉起誓,她一定要在被流星砸到前,到达一个安全的地方(也就是说,一块不会被任何流星砸到的土地)。如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。
根据预报,一共有 M 颗流星(1 <= M <= 50,000)会坠落在农场上,其中第 i 颗流星会在时刻 T_i (0 <= T_i <= 1,000)砸在坐标为(X_i, Y_i)(0 <= X_i <= 500;0 <= Y_i <= 500)的格子里。流星的力量会将它所在的格子,以及周围 4 个相邻的格子都化为焦土,当然贝茜也无法再在这些格子上行走。
贝茜在时刻 0 开始行动,它只能在第一象限中,平行于坐标轴行动,每 1 个时刻中,她能移动到相邻的(一般是 4 个)格子中的任意一个,当然目标格子要没有被烧焦才行。如果一个格子在时刻 t 被流星撞击或烧焦,那么贝茜只能在 t 之前的时刻在这个格子里出现。请你计算一下,贝茜最少需要多少时间才能到达一个安全的格子。
Farmer John 最近发明了一个游戏,来考验自命不凡的贝茜。游戏开始的时候,FJ会给贝茜一块画着 $N(2 \leq N \leq 200)$ 个不重合的点的木板,其中第 $i$ 个点的横,纵坐标分别为 $X_i$ 和 $Y_i (-1000 \leq X_i, Y_i \leq 1000)$。
贝茜可以选两个点画一条过它们的直线,当且仅当平面上不存在与画出直线平行的直线。游戏结束时贝茜的得分,就是她画出的直线的总条数。为了在游戏中胜出,贝茜找到了你,希望你帮她计算一下最大可能得分。
第 $1$ 行: 输入 $1$ 个正整数:$N$
第 $2 \cdots N+1$ 行: 第 $i+1$ 行用 $2$ 个用空格隔开的整数 $X_i, Y_i$,描述了点 $i$ 的坐标。
输出 $1$ 个整数,表示贝茜的最大得分,即她能画出的互不平行的直线数。
在给定的 $N$ 个数中选出 $R \times C$ 个数,然后填入 $R \times C$ 的矩阵中,每一行的 $D(i)$ 定义为本行最大值与最小值的差,然后要令所有行中 $D(i)$ 的最大值 $F$ 尽量小,其中 $1 \leq i \leq R$。请你求出满足条件的 $F$。
第一行是三个整数:$N, R, C$,其中, $1 \leq R,C \leq 10^4$,$R \times C \leq N \leq 5 \times 10^5$。
第二行是 $N$ 个整数 $P_i$,$0 < P_i \leq 10^9$
输出一个整数,即满足条件的最小的 $F$。
Update your browser to view this website correctly. Update my browser now