数论
monster&&summit
我一直在进步
展开
-
【我的板子】康托展开与逆康托展开
康托展开用于求给一列数,让你求它是全排列的第几个数总结康托展开公式为:rank=an(n−1)!+an−1(n−2)!+⋯+a10! 表示原排列中,排在下标 i 后面的,比下标 i 的字符还小的字符个数。当然,如果排名是从 1 开始的话,最终结果应当再 + 1。比如【2 3 4 1】排在2后面的比2小的有1个(1)rank+=1*(4-1)!排在3后面的比3小的有1个(1)rank+=1*(4-2)!排在4后面的比4小的有1个(1)rank+=1*(4-3)!排在1后面的比1小的有0个(原创 2020-06-24 09:49:47 · 169 阅读 · 0 评论 -
【我的板子】素数:埃式筛法、线性筛法、欧式筛法
埃式筛法与欧式筛法比他的时间复杂度会高,因为会重复处理多用于检验某范围内的一个数是不是素数#include <bits/stdc++.h>using namespace std;int prime[10000005];const int N = 10000000;void isprime(){ fill(prime,prime + N,true); prime[1] = false; for(int i = 2; i <= N; ++i) {原创 2020-06-24 09:07:16 · 1063 阅读 · 1 评论 -
数学期望的一步算法(伤害计算科大讯飞杯)
1、首先来说数学期望怎么算普遍解法的如下:当我们要求的是从x个数值中随机挑选n个数值,且这x个数值为1->x的时候,这个时候求数学期望不需要按上面的解法,直接E(a)=n*(x+1)/22、伤害计算题目及解法原题链接来源:牛客网题目描述勇士菜哭武获得了一把新的武器,武器有特殊的伤害计算方式。武器的伤害计算方式由若干个部分的和组成,用+号连接。每一部分可以是一个整数a,或者是一个公式ndx。其中a表示固定伤害a点;ndx表示掷n个x面骰子,伤害是所有骰子点数的和。总伤害是每一部分伤害的和原创 2020-05-12 17:03:06 · 1187 阅读 · 0 评论 -
张老师和菜哭武的游戏(牛客科大讯飞杯)
链接:https://ac.nowcoder.com/acm/contest/5477/A题目描述天才程序员菜哭武和张老师有一天到一个城市旅游,旅途中菜哭武觉得无聊就想和张老师玩一个游戏。菜哭武有n个石子,每个石子都标有1到n之间到数,且各不相同,一开始他们会随机从这堆石子选一个石子放置到一个集合中,张老师选的数是a,菜哭武选的是b(a和b不相同)。接下来菜哭武和张老师轮流按照如下规则拿走一个石子:当石子x能被拿走时,当且仅当集合存在y和z,满足x等于y+z或者y-z,当x被拿走时,把它放到集合中。谁完原创 2020-05-10 18:48:50 · 206 阅读 · 0 评论