
CCPC
巴扎嘿呀
学习知识图谱中~欢迎交流
展开
-
第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)
F.Fountains求贡献的题,斐波那契数列中奇数和偶数出现规律是奇数、奇数、偶数,奇数和奇数对答案没有贡献,其他组合均有贡献。求出奇数个数为p,则答案为#include<bits/stdc++.h>#define ll long longusing namespace std; int main(){ ll n;scanf("%lld",&n); ll p=n/3*2+(n%3); ll res=n*(n-1)/2-p*(p-1)/2;原创 2021-04-23 22:28:34 · 423 阅读 · 0 评论 -
F - The Hermit (思维)
#include<bits/stdc++.h>using namespace std;const int N=1e6+100;int a[N];int main(){ int ans=0; int t;scanf("%d",&t); for(int cas=1;cas<=t;cas++){ ans=0; int n;scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); .原创 2020-10-21 15:40:48 · 188 阅读 · 0 评论 -
E - The Tower (计算几何+构造)
#include<bits/stdc++.h>using namespace std;double r,h;double x0,yy,z0;double vx,vy,vz;double a,b,c;bool check(double t){ double x=x0+vx*t; double y=yy+vy*t; double z=z0+vz*t; if(z>=0&&z<=h&&(x*x+y*y<=r*r)) return 1.原创 2020-10-21 15:11:23 · 191 阅读 · 0 评论 -
D - The Moon (记忆化搜索)
#include<bits/stdc++.h>using namespace std;double dp[1010];double p;double dfs(int q){ if(q>=1000) return 100.0/p; if(dp[q]!=-1) return dp[q]; dp[q]=1.0+p/100.0*(1.0-q/1000.0)*dfs(q+20)+(1.0-p/100.0)*dfs(q+15); return dp[q];}int main(){.原创 2020-10-21 00:01:21 · 214 阅读 · 0 评论 -
I - Interesting Permutation (思维好题)
#include<bits/stdc++.h>#define ll long longusing namespace std;const int mod=1e9+7;const int N=1e5+100;int a[N];int main(){ int T;scanf("%d",&T); while(T--){ int n;scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i].原创 2020-10-11 10:24:12 · 245 阅读 · 0 评论 -
J - MUV LUV EXTRA (next数组)
#include<bits/stdc++.h>#define ll long long using namespace std;const int N=1e7+100;int p[N];int cnt=0;int ne[N];ll ans=0;char s[N];void getne(int m){ for(int i=2,j=0;i<=m;i++) { while(j&&p[i]!=p[j+1]) j=ne[j]; if(p[i.原创 2020-09-27 20:48:28 · 348 阅读 · 0 评论 -
I - Invoker (dp)
#include<bits/stdc++.h>#define ll long longusing namespace std;const int N=1e5+10;string s;ll ans=0;int dp[N][10];string ss[30][10];int chong(string b,string a){ if(a==b) return 3; else if(a[1]==b[0]&&a[2]==b[1]) return 2; else if.原创 2020-09-27 20:40:46 · 242 阅读 · 0 评论 -
A - Super-palindrome
把奇数位全变为相同最小步数+把偶数位全变为相同最小步数#include<bits/stdc++.h>using namespace std;char a[110];map<int,int> m;int len;int solve(int x){ m.clear(); int mx=0; for(int i=x;i<=len;i+=2){ m[a[i]-'a']++; mx=max(mx,m[a[i]-'a']); } return mx;}原创 2020-09-24 09:40:54 · 101 阅读 · 0 评论