当前位置: 首页 > news >正文

网站后台管理界面模板易联网站制作

网站后台管理界面模板,易联网站制作,阿里云 wordpress 区别,外贸网络推广的公司比赛链接 官方题解 这场基本都是数学题#xff0c;官方题解讲的还不错#xff0c;F能听懂的话其实不难。E是一个球盒模型的组合问题#xff0c;F是化简递推式#xff0c;成环时的解决方法很不错。 A 困难数学题 思路#xff1a; 一个数异或两次结果为 0 0 0#xff…比赛链接 官方题解 这场基本都是数学题官方题解讲的还不错F能听懂的话其实不难。E是一个球盒模型的组合问题F是化简递推式成环时的解决方法很不错。 A 困难数学题 思路 一个数异或两次结果为 0 0 0异或四次结果也是 0 0 0 code #include iostream #include cstdio using namespace std;int main(){cout0endl;return 0; }B 构造序列 思路 如果正负数个数差不多正常排就可以。 但是如果有一种数数量很多比如正数很多我们只能正负相间来排不过我们可以让首尾为正数这样用到的正数就会尽可能多假设一共有 2 n 1 2n1 2n1 个数那么正数就会用到 n 1 n1 n1 个。 所以看一下多的那种数是否超过 少的数1 个多出来的部分就用不到了。 code pypy3 的代码不过应该挺好理解的 x,y [int(i) for i in input().split()]if x y:t xx yy tif y x1:print(2*x1) else:print(xy)C 连点成线 思路 其实可以发现问题可以转化成对每一行找两头的点算距离以及对每一列找两头的点算距离因为中间的点一定不可能是最长的所以不用看。而且对于列的计算我们可以将行列坐标翻转然后按行来做。 那么我们现在只需要对每一行找两头的点算距离之后翻转行列坐标再算一次即可。这一步做法很多先排序可以枚举行坐标然后双指针找两端的点也可以按横坐标升序来枚举点的横坐标二分来找两端的纵坐标。 code #include iostream #include cstdio #include algorithm using namespace std; #define pii pairint,int const int maxn1e55;int n,m; pii a[maxn];int calc(){//x相同 y的最大差值 sort(a1,am1);int ans0;for(int l1,r;lm;lr1){rupper_bound(a1,am1,pii(a[l].first,n))-a-1;ansmax(ans,a[r].second-a[l].second);}return ans; }int main(){cinnm;for(int i1;im;i){auto [x,y]a[i];cinxy;}int anscalc();for(int i1;im;i){auto [x,y]a[i];swap(x,y);}ansmax(ans,calc());coutansendl;return 0; } D 我们N个真是太厉害了 思路 说白了就是给你 n n n 个数问你用这些数无法表示的最小的数是多少。 我们可以对 n n n 个数排个序假设用前 i − 1 i-1 i−1 个数最大可以表示到 m x mx mx也就是说前 i − 1 i-1 i−1 个数可以表示 0 ∼ m x 0\sim mx 0∼mx 任何一个数如果 a i ≤ m x 1 a_i\le mx1 ai​≤mx1那么低于 m x mx mx 的数可以用前 i − 1 i-1 i−1 个数来凑而高于 m x mx mx 的数可以通过使用 a i a_i ai​ 来凑最多可以凑到 a i m x a_imx ai​mx。 否则如果 a i m x 1 a_i mx1 ai​mx1那么就会出现至少 m x 1 mx1 mx1 无法被表示的情况因为我们已经排好序了后续的 a j a_j aj​ 肯定都 m x 1 mx1 mx1所以最小的无法表示的数就是 m x 1 mx1 mx1。 我们维护 m x mx mx如果能继续往下凑就加入 m x mx mx否则我们就找到了第一个无法表示的数也就是答案。 code #include iostream #include cstdio #include algorithm using namespace std; const int maxn1e55;int T,n; int a[maxn];int calc(){int mx0;for(int i1;in;i){if(a[i]mx1)return mx1;else {mxa[i];if(mxn)return -1;}}return -1; }int main(){cinT;while(T--){cinn;for(int i1;in;i)cina[i];sort(a1,an1);int anscalc();if(~ans)coutansendl;else coutCool!endl;}return 0; }E 折返跑 思路 因为两边的杆子要占两个格子所以实际上能移动的距离是 n − 2 n-2 n−2。因为跑 m m m 趟第一趟和最后一趟不移动杆子所以实际上就只移动了 m − 1 m-1 m−1 次杆子。 我们每次至少移动一格杆子不能把杆子移动的总长度超过两个杆子的总距离。而且我们还能把移动左右两边的杆子都看作是移动一根杆子因为不管移动哪个杆子两个杆子的相对距离变化是一样的。 这就有点像球盒模型了。我们把一格看成一个小球把每一趟移动杆子的距离看成盒子把球放入盒子看成让这一趟移动杆子的距离增加一格。那么这就是一个将 n − 2 n-2 n−2 个相同的小球放入 m − 1 m-1 m−1 个不同盒子不能空盒可以剩球的球盒模型。 球盒模型不可以剩球但是我们可以多加入一个新的盒子将 n − 2 n-2 n−2 个相同的小球放入 m m m 个不同盒子放入新盒的球看作剩下的球就行了也就是垃圾桶。这样的话就转化成了经典的球盒模型使用隔板法来做。 将 n − 2 n-2 n−2 个相同的小球放入 m m m 个不同盒子不能空盒。既然不能空盒就向每个盒子里预先加入一个小球 m − 1 m-1 m−1 个不能空盒的盒子各放入一个球剩下 n − m − 1 n-m-1 n−m−1 个这样就转化成了 将 n − m − 1 n-m-1 n−m−1 个相同的小球放入 m m m 个不同盒子可以空盒 的问题了向 n − m − 1 ( m − 1 ) n − 2 n-m-1(m-1)n-2 n−m−1(m−1)n−2 个位置上放入 m − 1 m-1 m−1 个隔板其余位置放小球这样分割出来的 m m m 个区间看作放入盒子的方法方案数就是 C n − 2 m − 1 C_{n-2}^{m-1} Cn−2m−1​ 了。 code #include iostream #include cstdio using namespace std; const int maxn1e65; const int N1e6; typedef long long ll; const ll mod1e97;ll qpow(ll a,ll b){ll basea%mod,ans1;b%mod;while(b){if(b1)ansans*base%mod;basebase*base%mod;b1;}return ans; } ll inv(ll x){return qpow(x,mod-2);}int T,n,m; ll fac[maxn],ifac[maxn];ll C(ll x,ll y){//C_x^yreturn fac[x]*ifac[y]%mod*ifac[x-y]%mod; }int main(){cinT;fac[0]1;for(int i1;iN;i)fac[i]fac[i-1]*i%mod;ifac[N]inv(fac[N]);for(int iN;i1;i--)ifac[i-1]ifac[i]*i%mod;while(T--){cinnm;coutC(n-2,m-1)endl;}return 0; }F 口吃 思路 这个题在官方题解里讲的其实挺好的。 假设 f i f_i fi​ 表示讲第 i i i 个字的期望讲字的个数根据题意可知 f n 1 f_n1 fn​1。根据题意不难列出 f 1 1 a 1 a 1 b 1 f 2 b 1 a 1 b 1 f 1 f_11\dfrac{a_1}{a_1b_1}f_2\dfrac{b_1}{a_1b_1}f_1 f1​1a1​b1​a1​​f2​a1​b1​b1​​f1​ f i 1 a i 2 ( a i b i ) 2 f i 1 2 a i b i ( a i b i ) 2 f i b i 2 ( a i b i ) 2 f i − 1 f_i1\dfrac{a_i^2}{(a_ib_i)^2}f_{i1}\dfrac{2a_ib_i}{(a_ib_i)^2}f_{i}\dfrac{b_i^2}{(a_ib_i)^2}f_{i-1} fi​1(ai​bi​)2ai2​​fi1​(ai​bi​)22ai​bi​​fi​(ai​bi​)2bi2​​fi−1​ 整理可得 f 1 f 2 a 1 b 1 a 1 f_1f_2\dfrac{a_1b_1}{a_1} f1​f2​a1​a1​b1​​ ( a i 2 b i 2 ) f i a i 2 f i 1 b i 2 f i − 1 ( a i b i ) 2 (a_i^2b_i^2)f_ia_i^2f_{i1}b_i^2f_{i-1}(a_ib_i)^2 (ai2​bi2​)fi​ai2​fi1​bi2​fi−1​(ai​bi​)2 发现问题比较麻烦因为这个递推式没法递推如果我们从小到大递推的话我们算 f i f_i fi​ 需要预先知道 f i 1 f_{i1} fi1​ 的值但是我们又没算出来而算 f i 1 f_{i1} fi1​ 的值又需要知道 f i f_i fi​ 的值这时候就成环了或者叫死锁。 如果我们能把 f i 1 f_{i1} fi1​ 或 f i − 1 f_{i-1} fi−1​ 的其中一个转化为 f i f_i fi​就可以打破这个死锁局面了。发现第一个 f 1 f 2 a 1 b 1 a 1 f_1f_2\dfrac{a_1b_1}{a_1} f1​f2​a1​a1​b1​​ 的式子可以带入到当 i 2 i2 i2 时的 ( a 2 2 b 2 2 ) f 2 a 2 2 f 3 b 2 2 f 1 ( a 2 b 2 ) 2 (a_2^2b_2^2)f_2a_2^2f_{3}b_2^2f_{1}(a_2b_2)^2 (a22​b22​)f2​a22​f3​b22​f1​(a2​b2​)2 中这样可以把 f 1 f_1 f1​ 转化为 f 2 f_2 f2​这时整个式子就变为了 f 2 f_2 f2​ 与 f 3 f_3 f3​ 的关系式化简后会得到一个形为 f 2 P ∗ f 3 Q f_2P*f_3Q f2​P∗f3​Q 的形式。 而这个 f 2 f_2 f2​ 与 f 3 f_3 f3​ 的关系式可以类似地再次带入到 i 3 i3 i3 时的式子 2 2 2 里同理可以得到 f 3 f_3 f3​ 与 f 4 f_4 f4​ 的关系式是一个形如 f 3 P ∗ f 4 Q f_3P*f_4Q f3​P∗f4​Q 的关系式同理继续带入。 发现我们可以去递推算每一对 P , Q P,Q P,Q然后从 n n n 往 1 1 1 递推 f 1 f_1 f1​ 即可。 假设 f i − 1 P i − 1 ∗ f i Q i − 1 f_{i-1}P_{i-1}*f_{i}Q_{i-1} fi−1​Pi−1​∗fi​Qi−1​带入式子 2 2 2 得 ( a i 2 b i 2 ) f i a i 2 f i 1 b i 2 f i − 1 ( a i b i ) 2 (a_i^2b_i^2)f_ia_i^2f_{i1}b_i^2f_{i-1}(a_ib_i)^2 (ai2​bi2​)fi​ai2​fi1​bi2​fi−1​(ai​bi​)2 ( a i 2 b i 2 ) f i a i 2 f i 1 b i 2 ( P i − 1 ∗ f i Q i − 1 ) ( a i b i ) 2 (a_i^2b_i^2)f_ia_i^2f_{i1}b_i^2(P_{i-1}*f_{i}Q_{i-1})(a_ib_i)^2 (ai2​bi2​)fi​ai2​fi1​bi2​(Pi−1​∗fi​Qi−1​)(ai​bi​)2 ( a i 2 b i 2 ) f i a i 2 f i 1 b i 2 P i − 1 ∗ f i b i 2 Q i − 1 ( a i b i ) 2 (a_i^2b_i^2)f_ia_i^2f_{i1}b_i^2P_{i-1}*f_{i}b_i^2Q_{i-1}(a_ib_i)^2 (ai2​bi2​)fi​ai2​fi1​bi2​Pi−1​∗fi​bi2​Qi−1​(ai​bi​)2 ( a i 2 b i 2 − b i 2 P i − 1 ) f i a i 2 f i 1 b i 2 Q i − 1 ( a i b i ) 2 (a_i^2b_i^2-b_i^2P_{i-1})f_ia_i^2f_{i1}b_i^2Q_{i-1}(a_ib_i)^2 (ai2​bi2​−bi2​Pi−1​)fi​ai2​fi1​bi2​Qi−1​(ai​bi​)2 f i a i 2 a i 2 b i 2 − b i 2 P i − 1 f i 1 b i 2 Q i − 1 ( a i b i ) 2 a i 2 b i 2 − b i 2 P i − 1 f_i\dfrac{a_i^2}{a_i^2b_i^2-b_i^2P_{i-1}}f_{i1}\dfrac{b_i^2Q_{i-1}(a_ib_i)^2}{a_i^2b_i^2-b_i^2P_{i-1}} fi​ai2​bi2​−bi2​Pi−1​ai2​​fi1​ai2​bi2​−bi2​Pi−1​bi2​Qi−1​(ai​bi​)2​因此 P i a i 2 a i 2 b i 2 − b i 2 P i − 1 , Q i b i 2 Q i − 1 ( a i b i ) 2 a i 2 b i 2 − b i 2 P i − 1 P_i\dfrac{a_i^2}{a_i^2b_i^2-b_i^2P_{i-1}},Q_i\dfrac{b_i^2Q_{i-1}(a_ib_i)^2}{a_i^2b_i^2-b_i^2P_{i-1}} Pi​ai2​bi2​−bi2​Pi−1​ai2​​,Qi​ai2​bi2​−bi2​Pi−1​bi2​Qi−1​(ai​bi​)2​ code #include iostream #include cstdio using namespace std; typedef long long ll; const int maxn1e55; const ll mod1e97;ll qpow(ll a,ll b){ll base(a%modmod)%mod,ans1;b%mod;while(b){if(b1)ansans*base%mod;basebase*base%mod;b1;}return ans; } ll inv(ll x){return qpow(x,mod-2);}int n; ll a[maxn],b[maxn]; ll p[maxn],q[maxn]; ll f[maxn];int main(){cinn;for(int i1;in;i)cina[i];for(int i1;in;i)cinb[i];p[1]1;q[1](a[1]b[1])%mod*inv(a[1])%mod;for(int i2;in;i){ll Aa[i]*a[i]%mod,Bb[i]*b[i]%mod,C(a[i]b[i])*(a[i]b[i])%mod;ll tinv(((AB-B*p[i-1])%modmod)%mod);p[i]A*t%mod;q[i](B*q[i-1]C)%mod*t%mod;}f[n]1;for(int in-1;i1;i--){f[i]p[i]*f[i1]q[i];f[i]%mod;}coutf[1];return 0; }
http://www.hkea.cn/news/14462611/

相关文章:

  • php网站开发工程师招聘网网络推广怎么做才有效
  • 网站服务器空间不足威海哪家网站做的好
  • 广州网站优化注意事项企业微信用途
  • 网站建设九亭wordpress实现注册功能
  • 西安市做网站的公司wordpress首页添加价格
  • 深圳企业网站建设公司无锡网站排名系统
  • 大同做网站甘肃省城乡住房建设厅网站首页
  • 铭讯网站建设首页设计培训班
  • seo优化网站优化多少企业需要网站建设
  • 丹阳网站建设价位公众号开发工具有哪几种
  • 创新的中小型网站建设东莞搭建网站要多少钱
  • 做民宿网站的系统可行性云开发教程
  • 网站建设代理协议什么网站可以做相册视频
  • 网站式登录页面模板下载网站开发工作量
  • 织梦网站如何更新系统手机wap网站模板使用
  • 信息发布网站开发无锡企业推广
  • 做网站运营需要培训吗制作企业宣传片拍摄公司
  • 马鞍山住房和城乡建设局网站休闲会所网站建设
  • 包头手机网站建设aso优化技术
  • 镇江网站关键字优化如何微网站开发费用
  • 西昌网站建设公司wordpress 目录布局
  • 乱起封神是那个网站开发的?公司简介宣传册模板ppt
  • 福州 网站建设 快搜网络建设部网站业绩如何录入
  • 郑州it培训机构有哪些怎么做外贸网站优化
  • 网站开发应该学哪门语言wordpress需要安装php模块
  • 湛江做网站的有哪些石排镇专业建站公司
  • 何炅做的网站广告海南电子商务网站
  • 网络营销推广网站收录手机网站 免费 html
  • 做房产中介网站常州辉煌网络网站建设
  • 做思维导图好看的网站网站建站优化