A. Golden Spirit

签到题,首先把所有老人带到对岸,然后在对休息讨论一下即可。

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<random>
#include<bitset>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<unordered_set>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
int main()
{IO;int T=1;cin>>T;while(T--){ll n,x,t;cin>>n>>x>>t;ll p=2*n*t;if(p-2*t>=x) cout<<2*p<<'\n';else{ll w=x-p+2*t;if(w>=t) {p+=t;cout<<2*n*t+p+max(0ll,x-2*n*t)<<'\n';}elsecout<<2*p+w<<'\n';}}return 0;
}

C. Rencontre

大佬题解

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
//#pragma GCC optimize(2)
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<random>
#include<bitset>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<unordered_set>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=200010;
int n,m;
int h[N],e[2*N],ne[2*N],idx;
ll w[2*N];
int sz[N];
int can[N][4];
int cnt[4];
void add(int a,int b,ll c)
{e[idx]=b;w[idx]=c;ne[idx]=h[a];h[a]=idx++;
}
ll res1,res2,res3;
void dfs(int u,int fa)
{for(int i=h[u];i!=-1;i=ne[i]){int j=e[i];if(j==fa) continue;dfs(j,u);for(int k=1;k<=3;k++) can[u][k]+=can[j][k];res1+=w[i]*can[j][1]*(cnt[2]-can[j][2])+w[i]*can[j][2]*(cnt[1]-can[j][1]);res2+=w[i]*can[j][2]*(cnt[3]-can[j][3])+w[i]*can[j][3]*(cnt[2]-can[j][2]);res3+=w[i]*can[j][3]*(cnt[1]-can[j][1])+w[i]*can[j][1]*(cnt[3]-can[j][3]);}
}int main()
{IO;int T=1;//cin>>T;while(T--){memset(h,-1,sizeof h);cin>>n;for(int i=1;i<n;i++){int a,b;ll c;cin>>a>>b>>c;add(a,b,c),add(b,a,c);}for(int i=1;i<=3;i++){cin>>cnt[i];for(int j=1;j<=cnt[i];j++){int x;cin>>x;can[x][i]=1;}}dfs(1,-1);double d1=(double)res1/((double)cnt[1]*cnt[2]);double d2=(double)res2/((double)cnt[3]*cnt[2]);double d3=(double)res3/((double)cnt[1]*cnt[3]);double ans=(d1+d2+d3)/2;printf("%.9lf\n",ans);}return 0;
}

自己非常害怕树的问题,尤其是树形dp之类的
总结:像这种考虑贡献的可以尝试逐点考虑或者逐边考虑(本题)

D. ABC Conjecture

c=p1α1p2α2…pkαkc=p_1^{\alpha_1}p_2^{\alpha_2}\dots p_k^{\alpha_k}c=p1α1​​p2α2​​…pkαk​​
只要存在αi>1\alpha_i>1αi​>1就能够满足题意,如下尝试构造一组ababab,不妨设αi>1\alpha_i>1αi​>1
a=p1α1…(piαi−1)…p1α1a=p_1^{\alpha_1}\dots (p_i^{\alpha_i-1})\dots p_1^{\alpha_1}a=p1α1​​…(piαi​−1​)…p1α1​​
b=p1α1…[(pi−1)×piαi−1]…p1α1b=p_1^{\alpha_1}\dots [(p_i-1)×p_i^{\alpha_i-1}]\dots p_1^{\alpha_1}b=p1α1​​…[(pi​−1)×piαi​−1​]…p1α1​​
明显上述a+b=ca+b=ca+b=c,且由于pi−1<pip_i-1<p_ipi​−1<pi​,脑补一下rad(abc)<crad(abc)<crad(abc)<c一定成立

由于c范围很大,如果你只会线性筛只需要先线性筛质数,然后试除法分解质因数,但是可能分解不彻底,对于分解之后剩下的部分只需要特判一下(由于(107)3>1018(10^7)^3>10^{18}(107)3>1018),如果存在大于10710^7107的质因数,该质因数的次幂最大是2。由此可特判

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<random>
#include<bitset>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<unordered_set>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=10000010;
int cnt,prime[N];
bool st[N];
void init(int n)
{for(int i=2;i<=n;i++){if(!st[i]) prime[++cnt]=i;for(int j=1;prime[j]<=n/i;j++){st[i*prime[j]]=1;if(i%prime[j]==0) break;}}
}
int main()
{IO;int T=1;cin>>T;init(10000000);while(T--){ll c;cin>>c;bool ok=0;for(int i=1;i<=cnt;i++){ll p=prime[i];int s=0;if(c%p==0){while(c%p==0)c/=p,s++;}if(s>=2) ok=1;}ll x=sqrt(c);if(c>1&&1ll*x*x==c) ok=1;if(ok) cout<<"yes\n";else cout<<"no\n";}return 0;
}

如果没想到上述特判方法那么需要更快速的方法分解质因数,Pollard’s rho模板题?我想可能出题人本意不是这个,会的越多就能越暴力解决问题,降低思维难度!!!

总结:做题还是需要多想想,而且要相信对于自己现在的掌握的算法已经足够解决一些题目。

G. Caesar Cipher

线段树+hash
看到这个题想到hash了,不过由于hash需要取模而且题目中也需要取模自己就非常乱,根本不明白什么时候取哪个模

2020 China Collegiate Programming Contest Weihai Site补题部分相关推荐

  1. 2020 China Collegiate Programming Contest Qinhuangdao Site 补题部分

    已经补AEFGK E. Exam Results 枚举+二分+动态开点权值线段树O(nlogN)O(nlogN)O(nlogN) 智商太低,想不到什么贪心只能暴力数据结构维护 对于所有学生的最高成绩只 ...

  2. 2020 China Collegiate Programming Contest Weihai Site H.Message Bomb

    H.Message Bomb 题目链接-H.Message Bomb 题目大意 输入sss行数据, 如果t=1t=1t=1,则表示第x个学生加入了第yyy个组.可以肯定的是,这个学生以前不在这个小组里 ...

  3. acm-(辗转相除法、丢番图方程)2020 China Collegiate Programming Contest Qinhuangdao Site I. Interstellar Hunter

    传送门 本题其实就是给定若干个整数向量(x1,y1),(x2,y2),...,(xn,yn)(x_1,y_1),(x_2,y_2),...,(x_n,y_n)(x1​,y1​),(x2​,y2​),. ...

  4. 2020 China Collegiate Programming Contest, Weihai B Labyrinth

    写在前面: 这题赛时就过了二十多个人感觉还是榜歪了,完全没有到金牌题的水平,算是一道纯思维题吧,只需要简单的bfs,而且赛中也有一些铜牌区的队伍能过,所以还是要敢于开题,说不定就能写呢 题目链接 La ...

  5. 2020 China Collegiate Programming Contest Changchun F - Strange Memory(dsu on tree + 位运算小技巧)

    题目连接: https://codeforces.com/gym/102832/problem/F 首先写这个题的时候要注意内存的问题 不要瞎几把define int long long 题解: 考虑 ...

  6. 2018 China Collegiate Programming Contest - Jilin Site F - The Hermit HDU - 6560 思维

    链接Problem - 6560 题意 有n个站点每个站点可以发送完美信号 关于完美信号的定义 有i j k三个站点 分别保证 i<j<k dis(i,j)> dis(j,k) 并且 ...

  7. acm -(并查集、启发式合并、gcd、枚举因子)2020 China Collegiate Programming Contest Changchun Onsite K. Ragdoll

    传送门 本题考虑直接对每个iii求出所有满足ij=gcd(i,j)i^j=gcd(i,j)ij=gcd(i,j)的jjj,然后存在ggg数组中,对于查询修改操作维护一个并查集即可,合并的时候采用启发式 ...

  8. 2016 China Collegiate Programming Contest Final

    2016 China Collegiate Programming Contest Final Table of Contents 2016 China Collegiate Programming ...

  9. 2019 China Collegiate Programming Contest Qinhuangdao Onsite F. Forest Program

    2019 China Collegiate Programming Contest Qinhuangdao Onsite F. Forest Program 题目链接 The kingdom of Z ...

最新文章

  1. java某市出租车_智慧职教mooc的APPJavaEE企业级网站开发章节测验答案
  2. Java Arrays.sort()的几种用法
  3. SoftReference的用法
  4. linux下修改主机名
  5. mysql连接数紧张_Mysql 查看连接数,状态,最大并发数
  6. list python 转tensor_Tensorflow模型量化4 --pb转tflite(uint8量化)小结
  7. php 一句话木马、后门
  8. 看透设计模式-行为型模式
  9. java核心教程_核心Java教程
  10. 【Zookeeper学习】Zookeeper-3.4.6安装部署
  11. Linux内核解读入门(转CSDN)
  12. (十一)【数电】(组合逻辑电路)数据分配器和数据选择器
  13. ENVI5.2裁剪遥感图像指定区域
  14. xshell 配置公钥 免密码登陆
  15. linux b类地址设24位掩码,CIDR,子网掩码以及划分子网超网
  16. 计算机维修工实操,计算机维修工(三级)操作技能练习题.pdf
  17. 灰狼优化算法GWO求解置换流水车间调度问题FSP
  18. StarRocks 运维工具 StarGo
  19. Kubernetes实战(二十)-kubernetes二进制文件方式部署集群(非安全)(下)
  20. Geometry理解

热门文章

  1. io流图解 java_详细讲解JAVA中的IO流
  2. uc3842开关电源电路图_UC3842 的原理及应用详解 (上)
  3. docker es持久化_使用docker数据卷对容器数据持久化
  4. 算法题目——子序列和问题(poj-3061)(尺取法)
  5. leetcode977. 有序数组的平方(暴力+双指针)
  6. 7-1 输出全排列 (20 分)(全排列+递归+图解)Come Baby
  7. 二叉树最近公共祖先相关题目(Leetcode题解-Python语言)
  8. ai进入轮廓模式怎么退出_详解AI中扩展、扩展外观、轮廓化描边、创建轮廓
  9. 《C++ Primer》14.3节练习
  10. java.sql 拒绝连接_hive jdbc 拒绝连接问题