题解 P4388 付公主的矩形

Posted xszcaesar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解 P4388 付公主的矩形相关的知识,希望对你有一定的参考价值。

嗯,

额,

这个,

不太好组织开头语,直接说题吧。

一个任性又喜新厌旧的她箭术过人,以稻草人练习。

需要满足她的喜新厌旧,一发入箭穿心 n 个稻草人。

得到方案数。

关于题解:

三步走

壹:look it:

技术分享图片

 可知:

若 gcd(i,n)=i ,为一种方案,ans++;

贰:

通过观察以及 Microsoft Office Power Point 的帮助

可知:

若 gcd(i,n−i+1)=1 ,那么也为一种方案,ans++;and rp--;

叁:

the third,

若gcd(i,n)=i ,那么摧毁 n 个稻草人要加上摧毁 n/i 个稻草人的方案。

肆:严格的推论:

交给 dalao ,我只是一个记录自己做题的记录员而已。

我做了十几年的选项分析,找规律能力早已异于常人,推规律只是瞬间的问题

that‘s all,thanks !

?????
the end ?

开玩笑:

 


 

技术分享图片
 1 #include<bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int gcd(int a,int b)
 6 {
 7     if(a%b==0)
 8     {
 9         return b;
10     }
11     else return gcd(b,a%b);
12 }
13 int lcm(int a,int b)
14 {
15     return a*b/gcd(a,b);
16 }
17 int n,ans;
18 int main()
19 {
20     scanf("%d",&n);
21     for(register int i=1;i<=n/2;i++)
22     if(gcd(i,n)==i)
23     {
24         ans++;
25         for(register int j=2;j<=(n/i)/2;j++)
26         if(gcd(j,(n/i)-j+1)==1)
27         {
28             ans++;
29         }
30     }
31     cout<<ans+1;
32     return 0;
33 }
View Code

关于代码,lcm 什么鬼?

辣鸡聊以自慰。

 说它是精华才是开玩笑

精华是它: Microsoft Office Power Point 才对

撒花 ~~~~~~~~

以上是关于题解 P4388 付公主的矩形的主要内容,如果未能解决你的问题,请参考以下文章

Luogu 4388 付公主的矩形

LG4389 付公主的背包

付公主的背包

luogu4389 付公主的背包

[luogu4389]付公主的背包(FFT)

LGP4389付公主的背包