首先,这是一道经典的期望dp题 因为最终状态 \((所有面都被筛到过)\) 是确定的,所以才用 逆推 ,设状态 \(f[i]\) 表示已经筛到了 \(i\) 个不同的面,有 \(i\over n\) 的概率是由$ f[i] $ 转移而来的, 也就是筛到了之前筛过的面,有 \({n-i\over n} ...
分类:
其他好文 时间:
2020-09-17 19:00:17
阅读次数:
29
链接Miku dfs就行了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int head[100001]; int p; int n; int m; in ...
分类:
其他好文 时间:
2020-09-17 15:43:29
阅读次数:
24
#include<cstdio> #include<queue> #include<vector> using namespace std; const int N = 1010; queue<int> q; int w[N]; int result[N]; int main(){ int np,n ...
分类:
其他好文 时间:
2020-09-12 21:48:03
阅读次数:
38
题型分类:map 题目大意:输入一本书的各个数据,建立图书查询系统,最后对书目进行查询。 解题思路:使用map来映射书和书的各个数据,用set来存储书的编号,set可以自动去重并且按从小到大的顺序排列。 注意 1.由于id是一个七位数字,在用scanf("%d",&id)读入是0001111会变成1 ...
分类:
其他好文 时间:
2020-09-11 15:57:02
阅读次数:
38
P1099 树网的核 已知i到j是一条路径,求k到这条路径的距离 \(ans = (dis[i][k] + dis[i][k] - dis[i][j] ) / 2\) 乱搞 300数据乱搞之——最短路求解直径 300数据乱搞之——n^3的最短路求法 求 n的唯一路径求法 300数据乱搞之——n^2枚 ...
分类:
其他好文 时间:
2020-09-09 19:04:53
阅读次数:
33
Ant Trip 分析 题意很简单,爆搜的时间复杂度比较高,不考虑。 应该使用欧拉回路的相关知识求解。 intn() 输入时将两个节点的入度都加一(无向),然后将两个节点合并在一个连通图中. for (int i = 1, u, v; i <= m; i++) { scanf ("%d %d", & ...
分类:
其他好文 时间:
2020-08-26 18:31:43
阅读次数:
51
#在#include<stdio.h>中存在sscanf函数能将字符串中分成多个部分,分别转化为不同类型进行返回; ##sscanf(char *s,type,destination) //s为字符数组名,type为转化的种类(与scanf中的格式相同),destination为返回的目标 inst ...
分类:
编程语言 时间:
2020-08-24 16:39:46
阅读次数:
59
//选择法对输入的10个字符按ASCII码大小进行排序 #include <stdio.h> #define N 10 int main(){ char a[N]; char t; int i,j; printf("请输入10个字符:\n"); for(i=0;i<N;i++){ scanf("%c ...
分类:
编程语言 时间:
2020-08-21 16:37:06
阅读次数:
95
题意:有两个数组a和b,可以随意调换数组中的元素的顺序,令 c[ i ] = a[ i ] ^ b[ i ],使c的字典序最小。 思路:每个数按二进制从高位到低位看作一个字符串,对a和b数组分别建一棵01字典树,并记录每个结点出现的次数。然后同时遍历这两棵字典树,优先走当前位相同的(0和0,1和1) ...
分类:
其他好文 时间:
2020-08-20 18:46:24
阅读次数:
57
int main()
{
int mun = 0;
int i = 0;
int count = 0;
scanf("%d", &mun);
for ( i = 0; i < 32; i++)
{
if (1 == ((mun >> i) & 1))
count++;
}
printf("%d ", count);
return 0;
}
分类:
其他好文 时间:
2020-08-18 15:46:51
阅读次数:
120