当前位置:网站首页>Arc135 partial solution
Arc135 partial solution
2022-07-03 22:41:00 【Hard working Lao Zhou】
Competition address
https://atcoder.jp/contests/arc135/tasks.
A - Floor, Ceil - Decomposition
https://atcoder.jp/contests/arc135/tasks/arc135_a.
Answer key
mathematical problem .
Give a positive integer X X X, f ( x ) f(x) f(x) Is the maximum product after one pass operation .
hypothesis X − = ⌊ x 2 ⌋ , X + = ⌈ x 2 ⌉ X_-=\lfloor \frac{x}{2} \rfloor,\ X_+=\lceil \frac{x}{2} \rceil X−=⌊2x⌋, X+=⌈2x⌉. We can write
f ( 1 ) = 1 f ( X ) = m a x ( X , f ( X − ) × f ( X + ) ) ∀ x ≥ 2 f(1)=1\\ f(X)=max(X, f(X_-) \times f(X_+))\ \forall x \ge 2 f(1)=1f(X)=max(X,f(X−)×f(X+)) ∀x≥2.
Now let's deduce the mathematical formula
f ( X − ) × f ( X + ) ≥ X − × X + ≥ X − 1 2 × X 2 ≥ X − 1 4 × X f(X_-) \times f(X_+) \ge X_- \times X_+ \ge \frac{X-1}{2} \times \frac{X}{2} \ge \frac{X-1}{4} \times X f(X−)×f(X+)≥X−×X+≥2X−1×2X≥4X−1×X.
such , We know when X ≥ 4 X \ge 4 X≥4 When , X − 1 4 × X ≥ X \frac{X-1}{4} \times X \ge X 4X−1×X≥X.
therefore :
f ( X ) = X ∀ X ≤ 4 f ( X ) = f ( X − ) × f ( X + ) ∀ X ≥ 5 f(X)=X\ \forall X \leq 4\\ f(X)=f(X_-) \times f(X_+)\ \forall X \ge 5 f(X)=X ∀X≤4f(X)=f(X−)×f(X+) ∀X≥5.
such , We can use DFS To achieve .
Let's take a look at the data range , 1 ≤ X ≤ 1 0 18 1 \leq X \leq 10^{18} 1≤X≤1018, The data is very big , Need to use memory search to optimize .
AC Code
#include<bits/stdc++.h>
using namespace std;
using LL=long long;
using PLL=pair<LL,LL>;
const LL MO=998244353;
unordered_map<LL, LL> M;
LL dfs(LL x) {
if (M.count(x)) {
return M[x];
}
M[x]=x;
if (x<=4) {
return M[x];
}
return M[x]=(dfs(x/2)*dfs((x+1)/2))%MO;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
LL x;
cin>>x;
cout<<dfs(x)<<"\n";
return 0;
}
B - Sum of Three Terms
https://atcoder.jp/contests/arc135/tasks/arc135_b.
Answer key
It's math again .
Hypothetical sequence A A A For the sequence that satisfies the condition , such
S i = A i + A i + 1 + A i + 2 ⇒ A i + 2 = S i − A i − A i + 1 S_i = A_i+A_{i+1}+A_{i+2} \Rightarrow A_{i+2}=S_i-A_i-A_{i+1} Si=Ai+Ai+1+Ai+2⇒Ai+2=Si−Ai−Ai+1.
When i = 1 i=1 i=1 When , A 3 = S 1 − A 1 − A 2 A_3=S_1-A_1-A_2 A3=S1−A1−A2, This equation has 3 3 3 An unknown number , So we assume that A 1 = a , A 2 = b A_1=a,\ A_2=b A1=a, A2=b, We can deduce the following
{ A 1 = a A 2 = b A 3 = S 1 − A 1 − A 2 = S 1 − a − b A 4 = S 2 − A 2 − A 3 = S 2 − S 1 + a A 5 = S 3 − A 3 − A 4 = S 3 − S 2 + b A 6 = S 4 − A 4 − A 5 = S 4 − S 3 − a − b A 7 = S 5 − A 4 − A 6 = S 5 − S 4 + a A 8 = S 6 − A 6 − A 7 = S 6 − S 5 + b . . . \begin{cases} A_1=a \\ A_2=b \\ A_3=S_1-A_1-A_2=S_1-a-b \\ A_4=S_2-A_2-A_3=S_2-S_1+a \\ A_5=S_3-A_3-A_4=S_3-S_2+b \\ A_6=S_4-A_4-A_5=S_4-S_3-a-b\\ A_7=S_5-A_4-A_6=S_5-S_4+a \\ A_8=S_6-A_6-A_7=S_6-S5+b\\ ... \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧A1=aA2=bA3=S1−A1−A2=S1−a−bA4=S2−A2−A3=S2−S1+aA5=S3−A3−A4=S3−S2+bA6=S4−A4−A5=S4−S3−a−bA7=S5−A4−A6=S5−S4+aA8=S6−A6−A7=S6−S5+b...
such , We know the law . Next we need to know when there is a solution .
The existence of solutions , We can use the simplest sequence S 1 , S 2 , S 3 S_1, S_2, S_3 S1,S2,S3 Is there a pair ( a , b ) (a,b) (a,b) Satisfy , This will get .
{ S 1 ≤ a S 2 ≤ b a + b ≤ S 3 \begin{cases} S_1 \leq a\\ S_2 \leq b\\ a+b \leq S_3 \end{cases} ⎩⎪⎨⎪⎧S1≤aS2≤ba+b≤S3
therefore ,
When S 1 + S 2 > S 3 S_1+S_2>S_3 S1+S2>S3 When , There is no solution to the problem .
When S 1 + S 2 ≤ S 3 , ( a , b ) = ( S 1 , S 2 ) S_1+S_2 \leq S_3,\ (a,b)=(S_1,S_2) S1+S2≤S3, (a,b)=(S1,S2), Existence solution .
such , This problem becomes a simulation problem .
AC Code
#include<bits/stdc++.h>
using namespace std;
using LL=long long;
using PLL=pair<LL,LL>;
const int N=3e5+10;
LL s[N];
LL a[N];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
LL n;
cin>>n;
for (LL i=1; i<=n; i++) {
cin>>s[i];
}
LL sum=0;
LL c1=0;
for (LL i=1; i<n; i+=3) {
sum+=s[i]-s[i+1];
c1=max(c1, sum);
}
sum=0;
LL c2=0;
for (LL i=2; i<n; i+=3) {
sum+=s[i]-s[i+1];
c2=max(c2, sum);
}
sum=0;
LL c3=0;
for (LL i=3; i<n; i+=3) {
sum+=s[i]-s[i+1];
c3=max(c3, sum);
}
if (c1+c2+c3>s[1]) {
cout<<"No\n";
return 0;
}
a[1]=c1;a[2]=c2;a[3]=s[1]-c1-c2;
for (LL i=2; i<=n; i++) {
a[i+2]=s[i]-a[i]-a[i+1];
}
cout<<"Yes\n";
for (LL i=1; i<=n+2; i++) {
cout<<a[i]<<" ";
}
cout<<"\n";
return 0;
}
边栏推荐
- Development mode and Prospect of China's IT training industry strategic planning trend report Ⓣ 2022 ~ 2028
- DR882-Qualcomm-Atheros-QCA9882-2T2R-MIMO-802.11ac-Mini-PCIe-Wi-Fi-Module-5G-high-power
- Covariance
- Exclusive download! Alibaba cloud native brings 10 + technical experts to bring "new possibilities of cloud native and cloud future"
- Some 5000+ likes, the development notes of a director of cosmic factory, leaked
- [flax high frequency question] leetcode 426 Convert binary search tree to sorted double linked list
- Overview of Yunxi database executor
- Simple solution of m3u8 file format
- Buuctf, web:[geek challenge 2019] buyflag
- Can you draw with turtle?
猜你喜欢
What indicators should be paid attention to in current limit monitoring?
How to restore the factory settings of HP computer
Redis single thread and multi thread
Yyds dry goods inventory Spring Festival "make" your own fireworks
Shiftvit uses the precision of swing transformer to outperform the speed of RESNET, and discusses that the success of Vit does not lie in attention!
Blue Bridge Cup -- Mason prime
Ppt image processing
Pat grade A - 1164 good in C (20 points)
2 spark environment setup local
Pooling idea: string constant pool, thread pool, database connection pool
随机推荐
Unique in China! Alibaba cloud container service enters the Forrester leader quadrant
File copy method
Wisdom tooth technology announced that it had completed the round D financing of US $100million and had not obtained a valid patent yet
33 restrict the input of qlineedit control (verifier)
How can enterprises and developers take advantage of the explosion of cloud native landing?
Ppt image processing
Why should enterprises do more application activities?
What indicators should be paid attention to in current limit monitoring?
Ansible common usage scenarios
Text replacement demo
C3p0 connection MySQL 8.0.11 configuration problem
The latest analysis of crane driver (limited to bridge crane) in 2022 and the test questions and analysis of crane driver (limited to bridge crane)
SDMU OJ#P19. Stock trading
Can you draw with turtle?
Sow of PMP
1068. Consolidation of ring stones (ring, interval DP)
Unique in China! Alibaba cloud container service enters the Forrester leader quadrant
Buuctf, misc: sniffed traffic
股票炒股开户注册安全靠谱吗?有没有风险的?
Data consistency between redis and database