2016 Multi-University Training Contest 3
2016-08-27 00:08
281 查看
1001 Sqrt Bo 33.06%(806/2438)
1002 Permutation Bo 46.85%(618/1319)
1003 Life Winner Bo 15.74%(301/1912)
1004 Gambler Bo 13.86%(37/267)
1005 Boss Bo 13.33%(2/15)
1006 Product Bo 0.00%(0/10)
1007 Explorer Bo 6.62%(28/423)
1008 Gardener Bo 0.00%(0/13)
1009 Palindrome Bo 8.33%(4/48)
1010 Rower Bo 20.03%(264/1318)
1011 Teacher Bo 38.71%(593/1532)
四题GG
1001
比赛的时候队友用大数模板做的, 刚看了下 觉得也没必要
我们可以用2 ,平方5次 可以得到 1475789056
那么我们输入的只要 小于这个数,则肯定可以在五次以内 开根 出1. 如果大于这个则不可。
数字和字符串转换一下即可。
有一发wa ,是没有特判0的情况, 确实0 不可能开根出1 。
1002
比赛的时候 觉得这是个 数学题,不是很擅长= = 推半天没推出来,队友就过了= =
既然数学推理不行,你就学着找规律呗, 大哥 不会数学下次就别xjb 推了,老老实实去找规律就好了。
题意:
给你一个序列c , 一个序列h ,h是1-n 的数, h0=hn+1=0;
求 [ hi>hi-1 && hi>hi+1 ] * ci 的期望。
也就是某个i 比左右都大 的概率* ci 的值 的和。
也不知道理解的对不对,反正数学博大精深= =
随便写写 n=3时
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1位置的贡献了3次 2位置贡献了2次 3位置贡献了3次 : 3 2 3
n=4时
1 2 3 4 2 1 3 4 3 1 2 4 4 1 2 3
1 2 4 3 2 1 4 3 3 1 4 2 4 1 3 2
1 3 2 4 2 3 1 4 3 2 1 4 4 2 1 3
1 3 4 2 2 3 4 1 3 2 4 1 4 2 3 1
1 4 2 3 2 4 1 3 3 4 1 2 4 3 1 2
1 4 3 2 2 4 3 1 3 4 2 1 4 3 2 1
一共24 个排列。 其中 1位置贡献 12 = 4位置, 2位置贡献8次 3位置 贡献8次
也就是 12 8 8 12
有兴趣可以在写一组5的
可以发现 位置1 和 位置n 的贡献度是一样的 = 1/2
中间的为位置 贡献度 显然为 8/24 =1/3
1011
想了半天都没想到这个乱搞的方法
我想了很久, 在脑子里毙掉了 队友过的哪种方法(即正解), 后面也没咋相通为什么不会T
大概就是这样的
现在想想 好像似乎 不会超时。
这题的突破口就在于 他给的m 范围小于 1e5 ,为什么他不给1e9呢? 1e9就是我脑子里一直在想的题目,我一直都没有注意这个条件。
曼哈顿距离 最大的点就是 (1e5,1e5) 也就是2e5;
所以 无论 n 有多大
我们在计算两点距离的时候, 最多只会计算 2e5次, 如果再多的话就必然会出现重复,所以也就T
fori
for(j=i+1 是为了避免 a-b 和b-a 重复计算两次。
这题真是个教训,做题总是不带脑子,非得把题目想死,不开窍!而且还不重视一些很明显的条件。
1010
一个物理题,有个学弟还是搞物理竞赛的, 积分积分就可以推出个公式,= = 哀伤,下次再出这种题可咋办= =。
1003
博弈题,熊神搞了很久很久,最后差一点过了。
原因就是 那个皇后(貌似) 是没有规律的, 之前我们找的规律是错误的, 我们往后又找了一些才发现这个东西并不规律, 据说大多人都是打表过的。。。
哀伤,博弈很想丢给熊神呢 QAQ。
1002 Permutation Bo 46.85%(618/1319)
1003 Life Winner Bo 15.74%(301/1912)
1004 Gambler Bo 13.86%(37/267)
1005 Boss Bo 13.33%(2/15)
1006 Product Bo 0.00%(0/10)
1007 Explorer Bo 6.62%(28/423)
1008 Gardener Bo 0.00%(0/13)
1009 Palindrome Bo 8.33%(4/48)
1010 Rower Bo 20.03%(264/1318)
1011 Teacher Bo 38.71%(593/1532)
四题GG
1001
比赛的时候队友用大数模板做的, 刚看了下 觉得也没必要
我们可以用2 ,平方5次 可以得到 1475789056
那么我们输入的只要 小于这个数,则肯定可以在五次以内 开根 出1. 如果大于这个则不可。
数字和字符串转换一下即可。
有一发wa ,是没有特判0的情况, 确实0 不可能开根出1 。
#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<stdlib.h> #include<queue> #include<stack> #include<map> #include<vector> #include<bitset> #define mem(a) memset(a,0,sizeof(a)) #define ll __int64 #define INF 0x7fffffff //INT_MAX #define inf 0x3f3f3f3f // const double PI = acos(-1.0); const double e = exp(1.0); template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } using namespace std; string maxn="1475789056"; char cnt[1005]; ll poww(int l){ ll ans=1; for(int i=1;i<=l;i++) ans*=10; return ans; } int main() { //freopen("1.txt","r",stdin); while(~scanf("%s",cnt)){ // printf("l=%d\n",maxn.length()); int len=strlen(cnt); string cnt2; for(int i=0;i<len;i++) cnt2.push_back(cnt[i]); // cout<<cnt2<<endl; if(cnt2.length()>10){ printf("TAT\n"); continue; } int num=0; ll ans=0; for(int i=0;i<cnt2.length();i++){ // cout<<cnt2[i]<<" "<<cnt2.length() <<endl; ans+=(cnt2[i]-'0')*poww(cnt2.length()-i-1); } if(ans==0){ // 0的情况确实要特判一下 printf("TAT\n"); continue; } while(ans>1){ ans=sqrt(ans); num++; } if(num>5){ printf("TAT\n"); continue; } cout<<num<<endl; } return 0; }
1002
比赛的时候 觉得这是个 数学题,不是很擅长= = 推半天没推出来,队友就过了= =
既然数学推理不行,你就学着找规律呗, 大哥 不会数学下次就别xjb 推了,老老实实去找规律就好了。
题意:
给你一个序列c , 一个序列h ,h是1-n 的数, h0=hn+1=0;
求 [ hi>hi-1 && hi>hi+1 ] * ci 的期望。
也就是某个i 比左右都大 的概率* ci 的值 的和。
也不知道理解的对不对,反正数学博大精深= =
随便写写 n=3时
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1位置的贡献了3次 2位置贡献了2次 3位置贡献了3次 : 3 2 3
n=4时
1 2 3 4 2 1 3 4 3 1 2 4 4 1 2 3
1 2 4 3 2 1 4 3 3 1 4 2 4 1 3 2
1 3 2 4 2 3 1 4 3 2 1 4 4 2 1 3
1 3 4 2 2 3 4 1 3 2 4 1 4 2 3 1
1 4 2 3 2 4 1 3 3 4 1 2 4 3 1 2
1 4 3 2 2 4 3 1 3 4 2 1 4 3 2 1
一共24 个排列。 其中 1位置贡献 12 = 4位置, 2位置贡献8次 3位置 贡献8次
也就是 12 8 8 12
有兴趣可以在写一组5的
可以发现 位置1 和 位置n 的贡献度是一样的 = 1/2
中间的为位置 贡献度 显然为 8/24 =1/3
#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<stdlib.h> #include<queue> #include<stack> #include<map> #include<vector> #include<bitset> #define mem(a) memset(a,0,sizeof(a)) #define ll __int64 #define INF 0x7fffffff //INT_MAX #define inf 0x3f3f3f3f // const double PI = acos(-1.0); const double e = exp(1.0); template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } using namespace std; double p[1010]; int main() { freopen("1.txt","r",stdin); int n; while(scanf("%d",&n)!=EOF) { if(n==1) { scanf("%lf",&p[0]); printf("%.6lf\n",p[0]); continue; } double ans=0; for(int i=0;i<n;i++) { scanf("%lf",&p[i]); if(i==0||i==n-1) { ans+=(1.0/2.0)*p[i]; } else { ans+=(1.0/3.0)*p[i]; } } printf("%.6lf\n",ans); } return 0; }
1011
想了半天都没想到这个乱搞的方法
我想了很久, 在脑子里毙掉了 队友过的哪种方法(即正解), 后面也没咋相通为什么不会T
大概就是这样的
for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { int k=abs(p[i].x-p[j].x)+abs(p[i].y-p[j].y); if(!v[k]) v[k]=1; else { bz=1; break; } } if(bz) break; }
现在想想 好像似乎 不会超时。
这题的突破口就在于 他给的m 范围小于 1e5 ,为什么他不给1e9呢? 1e9就是我脑子里一直在想的题目,我一直都没有注意这个条件。
曼哈顿距离 最大的点就是 (1e5,1e5) 也就是2e5;
所以 无论 n 有多大
我们在计算两点距离的时候, 最多只会计算 2e5次, 如果再多的话就必然会出现重复,所以也就T
fori
for(j=i+1 是为了避免 a-b 和b-a 重复计算两次。
这题真是个教训,做题总是不带脑子,非得把题目想死,不开窍!而且还不重视一些很明显的条件。
1010
一个物理题,有个学弟还是搞物理竞赛的, 积分积分就可以推出个公式,= = 哀伤,下次再出这种题可咋办= =。
1003
博弈题,熊神搞了很久很久,最后差一点过了。
原因就是 那个皇后(貌似) 是没有规律的, 之前我们找的规律是错误的, 我们往后又找了一些才发现这个东西并不规律, 据说大多人都是打表过的。。。
哀伤,博弈很想丢给熊神呢 QAQ。
相关文章推荐
- emailTrackerpro-垃圾邮件相关信息分析
- AIM Tech Round 3 (Div. 2) D. Recover the String 构造、贪心、多坑、WA162
- 5个AI基础工具详解
- AI的标尺和混合工具学习教程
- Factorial Trailing Zeroes
- AIM Tech Round 3 (Div. 2) C. Letters Cyclic Shift 贪心、字典序
- AIM Tech Round 3 (Div. 2) B. Checkpoints 排序、讨论
- 看美剧《疑犯追踪》,学地道美语 Learn idiomatic American English by watching Tv series Person of Interest
- 《自动化焦虑》:《经济学人》关于自动化与人工智能的16篇专栏文章。4星
- No service of type Factory available in ProjectScopeServices
- No service of type Factory available in ProjectScopeServices
- 意识不仅存在人类---疯狂的想法
- Cannot nest 'PRJ/src/main/resource' inside 'PRJ/src'. To enable the nesting exclude 'main/' from 'PR
- Leetcode 11 Container With Most Water
- 揭开.NET消息循环的神秘面纱(GetMessage()无法取得任何消息,就会进入Idle(空闲)状态,进入睡眠状态(而不是Busy Waiting)。当消息队列不再为空的时候,程序会自动醒过来)
- 1014. Waiting in Line (30)
- HDU 2476 String painter (区间DP)
- windows 下,用CreateWaitableTimer SetWaitableTimer 创建定时器(用轮询的办法保持高精度)
- 无人驾驶的技术安全风险可以避免吗?
- In excel copy the cell that contain the special text to the new collom