|
1001 |
A + B = C |
10.48%(301/2872) |
|
1002 |
Bracket Sequences on Tree |
11.27%(16/142) |
|
1003 |
Cuber Occurrence |
6.67%(1/15) |
|
1004 |
Data Structure Problem |
23.08%(3/13) |
|
1005 |
Equation |
0.00%(0/63) |
|
1006 |
Final Exam 推公式,田忌赛马 |
5.06%(297/5872) |
|
1007 |
Getting Your Money Back |
12.42%(20/161) |
|
1008 |
Halt Hater |
14.77%(61/413) |
|
1009 |
Intersection of Prisms |
0.00%(0/2) |
|
1010 |
Just Repeat 博弈,贪心 |
15.04%(128/851) |
|
1011 |
Kejin Player 期望DP |
21.20%(544/2566)
|
1001 A + B = C
题意:
给定a,b,c($a, b, c \le 10 ^{100000}$),求一组x, y, z满足$a \times 10^x + b \times 10^y = c \times 10^z$ 。
思路:
先把每个数末尾的0去掉,然后可以发现满足如下等式之一$$ a + b = c \times 10 ^k $$ $$ a \times 10 ^k + b = c $$ $$ a + b \times 10 ^ k = c$$就行了。
由于是大数,可以利用哈希,计算等式中的k,可以移项,乘逆元,预处理mod意义下指数。
然后我用到双哈希保险
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
// #pragma GCC optimize(4)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include <string>
#include
#include
#include
#include
#include
#include
View Code
1006 Final Exam
思路:
假设每个题目所用的时间为$a_1, a_2, ... , a_n(a_i <= a_{i+1})$
按老师的想法,为了不让学生过掉n - k 个题目,肯定是把$a_1, a_2,...a_{n-k}$ 对应题目的分值设为$a_1, a_2,...a_{n-k}$.
然后$$m - a_1 - a_2 - ... - a_{n-k} < a_{n-k+1}$$
我们给左边+1,再移项,变成
$$m + 1 \le + a_1 + a_2 + ... + a_{n-k} + a_{n-k+1}$$
可以发现$a_{n-k+1}$最大会被老师卡成$\left\lceil \frac{m + 1}{n - k + 1} \right\rceil$
之后的$a_{n-k+2},,,a_{n}$可以等于$a_{n-k+1}$就行了。
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
// #pragma GCC optimize(4)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include <string>
#include
#include
#include
#include
#include
#include
View Code
1008 Halt Hater
题意:
一开始你在(0, 0)点,面向Y轴正方向。向左走费用为a,向前走费用为b,向右走费用为0。有T($\le 100000$) 组数据,每组给定x,y,a,b,问你到(x,y)的最小费用。
思路:
规律题,首先发现,你到(x-1, y+1)(x, y+1), (x-1, y), (x, y) 其中之一就行了。
然后发现,如果把每个格子看成一个点,那么,相邻格子的费用为a。斜对着的两个格子的费用为min(a, 2 * b)。
一下跨两步的费用为min(2*a, 2*b)。
所以我们首先斜着走,然后两步两步走,然后再走一步。
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)
// #pragma GCC optimize(4)
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include <string>
#include
#include
#include
#include
#include
#include
View Code