知识点: BSGS 原题面 题意简述 \(T\) 组数据,每组给定参数 \(p,a,b,x_1,t\)。 对于数列 \(x\),有 \(x_{i+1} \equiv a \times x_i + b \pmod p\)。 求最小的 \(i\),使 \(t = x_{i}\)。 $1\le T\le ...
分类:
其他好文 时间:
2020-08-05 19:40:41
阅读次数:
70
类型:字符串 思路:前n行用getilne(),或者gets() 读取数据。 剩下的用cin,或者scnaf() 读取数据;当读取到空格时表示一个字符串的结束。 getchar():消去回车符。 AC代码: 1 #include<iostream> 2 #include<cstring> 3 #in ...
分类:
编程语言 时间:
2020-07-29 21:47:49
阅读次数:
86
题面 #include <bits/stdc++.h> using namespace std; template<typename temp> void read(temp &x){ x = 0; temp f = 1; char ch; while(!isdigit(ch = getchar() ...
分类:
其他好文 时间:
2020-07-28 22:35:46
阅读次数:
61
#include<bits/stdc++.h> using namespace std; #define int long long namespace yspm{ inline int read() { int res=0,f=1; char k; while(!isdigit(k=getchar ...
分类:
其他好文 时间:
2020-07-27 23:34:24
阅读次数:
65
#include<stdio.h> int main() { char ch, again; do { printf("输入一个字符!"); ch = getchar(); if (ch >= 'A' && ch <= 'Z') { printf("%c", ch + 32); } getchar( ...
分类:
编程语言 时间:
2020-07-19 15:52:37
阅读次数:
46
首先先让我们认识离散化用的函数,STL给我们提供了便利: unique(start,end);//取出有序序列重复元素,左闭右开,返回去重复序列最后一个元素位置 lower_bound(start,end,key);//左闭右开中寻找第一个大等于key的数,返回值 std::sort(a+1,a+n ...
分类:
其他好文 时间:
2020-07-17 22:24:59
阅读次数:
82
题目链接 题目大意:给出一颗含有$n$个结点的树,每个节点有一个颜色。求树中每个子树最多的颜色的编号和。 树上启发式合并(dsu on tree)。 我们先考虑暴力怎么做。遍历整颗树,暴力枚举子树然后用桶维护颜色个数。这样做是$O(n^2)$的,显然会T。我们需要一种更快的算法:树上启发式合并。 关 ...
分类:
其他好文 时间:
2020-07-17 22:21:39
阅读次数:
58
/* Name: Copyright: Author: Mudrobot Date: <DATETIME> Description: */ #include<bits/stdc++.h> #define gc() getchar()//caution!!! #define LL long long ...
分类:
其他好文 时间:
2020-07-17 14:04:00
阅读次数:
107
算法 一、树形DP 二、二分图最小点覆盖 思路 1 树形结构!!! 因为是一棵树,所以对于每个节点,我们都把它当成根节点处理\to→树形dp!!! 注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。 定义状态dp[u][0/1]表示u这个节点不放/放士兵 根据题意,如果当前节点不放 ...
分类:
其他好文 时间:
2020-07-15 23:42:56
阅读次数:
70
题目链接 题目大意:给定$n$个宝物,每次随机抛出一个宝物,奖励分数为$p_i$。但如果选这个宝物必须选过它的前置宝物集合。共进行$K$轮问最优策略下的期望。 $n\leq 15,-10^6\leq p_i\leq 10^6$ 看到数据范围,状压很容易想到。 设$f[i][j]$表示到了第$i$轮, ...
分类:
其他好文 时间:
2020-07-12 15:00:20
阅读次数:
53