目录 Cookies Distinct Sub-palindromes Fibonacci Sum Finding a MEX Leading Robots Math is Simple Minimum Index Mow Cookies 先简单二分出最后查的是哪个标号. 然后发现这个可以快速处理出一段区间的答案,分段打表即可. 注意代码长度限制不要爆了我就白打了 10min Code ll n, k, a[N]; ll S[4001] = { ... }; int m; inline ll c…
Problem F. Grab The Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 2004    Accepted Submission(s): 911 Problem Description Little Q and Little T are playing a game on a tree. There are …
Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1770    Accepted Submission(s): 1089 Problem Description Alice and Bob are playing a game. The game is played on a set of positive integers…
Maximum Multiple Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3985    Accepted Submission(s): 926 Problem Description Given an integer n, Chiaki would like to find three positive integers x,…
1001,只要枚举区间即可.签到题,要注意的是输入0的话也是“TAT”.不过今天补题的时候却WA了好几次,觉得奇怪.原来出现在判断条件那里,x是一个int64类型的变量,在进行(x<65536*65536)的时候,后面的已经爆int了!因为如果写的是int类型他就默认是int类型的.所以要写成(ll)65536*65536或者直接4294967296,因为如果这个值是ll类型的,就自动用ll类型来保存了(另外要注意的是(ll)(65536*65536)也是错的!因为后面已经爆int了,再转成ll…
第一场多校,出了一题,,没有挂零还算欣慰. 1001,求最小生成树和,确定了最小生成树后任意两点间的距离的最小数学期望.当时就有点矛盾,为什么是求最小的数学期望以及为什么题目给了每条边都不相等的条件.看了题解以后才明白:“首先注意到任意两条边的边权是不一样的,由此得知最小生成树是唯一的,最小生成树既然 是唯一的,那么期望其实也就是唯一的,不存在什么最小期望.”那么第一问最小生成树只要克鲁斯卡尔算法即可,第二问,总的路的条数是n*(n-1)/2,然后确定所有路的权值和的方法是:枚举每一条边,这一条…
1001,官方题解是直接dp,首先dp[i]表示到i位置的种类数,它首先应该等于dp[i-1],(假设m是B串的长度)同时,如果(i-m+1)这个位置开始到i这个位置的这一串是和B串相同的,那么dp[i]还应该加上dp[i-m],因为从i-m+1开始可以被替换成另外一种意思.详细的见代码吧.我们当时使用dfs来做的,实际上换汤不换药,思想是一样的(不过dfs的话是从前往后算的).代码如下: #include <bits/stdc++.h> using namespace std; + ; ;…
Solved A HDU 6298 Maximum Multiple Solved B HDU 6299 Balanced Sequence Solved C HDU 6300 Triangle Partition Solved D HDU 6301 Distinct Values   E HDU 6302 Maximum Weighted Matching   F HDU 6303 Period Sequence Solved G HDU 6304 Chiaki Sequence Revisi…
1009,直接贪心,只要让后面的尽量小,第一位和第二位尽量大即可. 1011,直接统计奇数的字母的个数,然后用偶数的个数平均分配到它们上面即可.代码如下: #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; int main() { int T; scanf("%d",&T); while(T--) { int n; , even =…
Blank 定义dp[i][j][k][t]dp[i][j][k][t]dp[i][j][k][t]代表填完前ttt个位置后,{0,1,2,3}\{0,1,2,3\}{0,1,2,3}这4个数字最后一次出现的位置,排序后为i,j,k,t(i<j<k<t)i,j,k,t(i<j<k<t)i,j,k,t(i<j<k<t)的方案数目,则按照第t+1t+1t+1位的数字的四种选择,可以得到四种转移. 对于限制可以按照限制区间的右端点分类,求出dp[i][j][…