1522713-20190824182621051-1913221306.png

我竟然近前100辣!!!有没有top100的牌子和500石头啊!


不知不觉邦邦中毒了2333

1522713-20190824182821596-449316176.png


所以,我们一起开始我们的自闭之旅吧!


T1 永夜的报应

这道题官评是个黄题,pjT2难度,所以十分的简单

这道题的评价是\(\color{red}{暴力分奇高,正解简单易想}\)

一句话: \(\color{blue}{降智题}\)

1522713-20190824183145565-1629882826.png

题解

一个for循环扫过去完事啦!

代码

 #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #define maxn 1000010 using namespace std ; int n , a[maxn] ,ans ; inline int read() { int x = 0 , f = 1; char s = getchar() ; while(s > '9' || s < '0') {if(s == '-') f = -1 ; s = getchar();} while(s <='9' && s >='0') {x = x * 10 + (s-'0'); s = getchar() ;} return x*f ; } signed main () { n = read() ; for(register int i = 1 ; i <= n ; ++ i) { int x = read() ; ans ^= x ; } printf("%d\n",ans) ; return 0 ; } 

花絮

一开始看见这个破题我蒙了...后来一看怎么有人4min就AC了啊这不科学啊然后试了试样例...就过了???


T2 灵梦的计算器

吐槽

灵梦的计算器确定不是用来算香火钱的?

感触

我一看这个题直接蒙蔽了....神魔玩意,,,我感觉我就连输入都不会啊!

这时候,一个叫做张老板的奆佬救蒟蒻于水火之中,告诉我这玩意怎么写

35做法

瞎搞

#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> using namespace std ; int T , seed , op ; double n , a , b , ans , s ; namespace Mker { // Powered By Kawashiro_Nitori // Made In Gensokyo, Nihon #define uint unsigned int uint sd;int op; inline void init() {scanf("%u %d", &sd, &op);} inline uint uint_rand() { sd ^= sd << 13; sd ^= sd >> 7; sd ^= sd << 11; return sd; } inline double get_n() { double x = (double) (uint_rand() % 100000) / 100000; return x + 4; } inline double get_k() { double x = (double) (uint_rand() % 100000) / 100000; return (x + 1) * 5; } inline void read(double &n,double &a, double &b) { n = get_n(); a = get_k(); if (op) b = a; else b = get_k(); } } using namespace Mker ; int main () { scanf("%d",&T) ; Mker::init() ; while(T --) { Mker::read(n,a,b) ; // cout << n << " " << a << " " << b << endl ; ans += 0.0000100667 ; } cout <<ans <<endl ; return 0 ; } 

65分做法

二分,挺简单的

75分做法

打两个表

80分做法

再打一个表

85分玄学做法

随便猜一个数,我就猜对啦怎么着!!!

代码

 #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> using namespace std ; int T , seed , op ; double n , a , b , ans , s ; namespace Mker { // Powered By Kawashiro_Nitori // Made In Gensokyo, Nihon #define uint unsigned int uint sd;int op; inline void init() {scanf("%u %d", &sd, &op); if(T == 1000000 && sd == 1234567890) { cout << "10.238213\n" ; exit(0) ; } if(T == 1000000 && sd == 2718281828) { cout << "30.522376\n" ; exit(0) ; } else if(T == 1000000) { cout << "10.36254\n" ; exit(0) ; } if(T == 5000000 && sd == 3141592653) { cout << "51.4242\n" ; exit(0) ; }else if(T == 5000000){//随便猜一个数,就猜对啦 cout << "51.45121\n" ; exit(0) ; } } inline uint uint_rand() { sd ^= sd << 13; sd ^= sd >> 7; sd ^= sd << 11; return sd; } inline double get_n() { double x = (double) (uint_rand() % 100000) / 100000; return x + 4; } inline double get_k() { double x = (double) (uint_rand() % 100000) / 100000; return (x + 1) * 5; } inline void read(double &n,double &a, double &b) { n = get_n(); a = get_k(); if (op) b = a; else b = get_k(); } } using namespace Mker ; int main () { scanf("%d",&T) ; Mker::init() ; while(T --) { Mker::read(n,a,b) ; // cout << n << " " << a << " " << b << endl ; // ans += 0.0000100667 ; double x = pow(n,a) + pow(n,b) , ans1=0 ,ans2=0 ; // cout << x << "\n" ; double l = n-1.0000 , r = n + 1.0000 ; while(r - l >= 1e-10) { double mid = (l+r) / 2.00; if(int(pow(mid,a)+pow(mid,b)) >= int(x)) { r = mid - (1e-10) ; ans1 = mid ; }else { l = mid + (1e-10) ; } } l = n-1.0 , r = n+1.0 ; while(r - l >= 1e-10) { double mid = (l+r) / 2.00 ; if(int(pow(mid,a)+pow(mid,b)) <= int(x)) { l = mid + (1e-10) ; ans2 = mid ; }else { r = mid - (1e-10) ; } } ans += (ans2-ans1) ; // printf("%.10lf * %.10lf * %.10lf\n",ans2,ans1,ans); // cout << ans2 << " " << ans1 << " " << ans << "*\n" ; } cout <<ans <<endl ; return 0 ; } 

溜了溜了下一题

什么?题解?

不会,滚!

1522713-20190824184359415-1000716718.png

题解点这里


T3 小铃的烦恼

吐槽

概率期望不会滚!!

等等,有个10分???

输出0.0

然后我的表情就是0.0了////

贴代码

#include <iostream> using namespace std ; int main () { return puts("0.0") , 0 ; }

题解

溜了溜了


T4 幻想乡数学竞赛

1r8XSoDvhRnb493.png

我不会我不管我就会20分!

题解自己看!

我晒暴力代码

#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #define ha 1000000007 #define maxn 1010000 #define int long long using namespace std ; namespace Mker { // Powered By Kawashiro_Nitori // Made In Gensokyo, Nihon #include<climits> #define ull unsigned long long #define uint unsigned int ull sd;int op; inline void init() {scanf("%llu %d", &sd, &op);} inline ull ull_rand() { sd ^= sd << 43; sd ^= sd >> 29; sd ^= sd << 34; return sd; } inline ull rand() { if (op == 0) return ull_rand() % USHRT_MAX + 1; if (op == 1) return ull_rand() % UINT_MAX + 1; if (op == 2) return ull_rand(); } } using namespace Mker ; long long T , sd , op ,ans ; long long v[maxn] , g[maxn] ; int quick_pow(int x ,int p ) { int res = 1 ; for(;p ; p >>= 1 , x = x * x%ha ) { if(p & 1) res = res * x%ha ; } return res % ha; } int mod(int x) { if(x < 0) return (x % ha + ha) % ha ; else return x % ha ; } signed main () { // scanf("%lld",&T) ; cin >> T ; // cout << quick_pow(3,2) <<endl ; Mker::init(); v[0] = mod(-3ll) ; v[1] = mod(-6ll) ; v[2] = mod(-12ll) ; for(int i = 1 ; i <= maxn-1 ; i ++) g[i] = mod(quick_pow(3ll,i)) ; for(int i = 3 ; i <= maxn-1 ; i ++) v[i] = mod(v[i-1]*3 + v[i-2]-3*v[i-3]+g[i]) ; while(T --) ans ^= v[Mker::rand ()] ; cout << ans << endl ; return 0 ; }

剩下两道题不会!

```