test5 3-20 2021省选模拟赛five

考试复盘

第一题??是个什么互动哦,直接乱来的( ̄ ̄)σ…(__)ノ|壁

第二题是前几天考过的,所以知道是polyapolyapolya,但是式子推到最后的二项式定理没推对,只能交暴力FFTFFTFFT,问题是暴力FFTFFTFFT都调了很久!!看来这一周还是得重点整一下卷积 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pJWa65au-1616329681876)(file:///C:\PROGRA2\Baidu\BAIDUP1\5039001.0\dict\Default\0423961.PNG)]

第三题的期望,(・。・)突然想起自己还得抓紧整一下期望

已经算是简单的了,毕竟我一个对期望含义并不是很了解的人都找到了式子

但是卡在了后面的暴力找可挑点的时间复杂度上,而且这个好像还有点坑精度??

LYK loves 消消看

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
待补———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

LYK loves girls

在这里插入图片描述
在这里插入图片描述

polyapolyapolya定理,何老师简单解释了一下,染色种类数轨道数/序列长度

#include <cstdio>
#include <iostream>
using namespace std;
#define int long long
#define mod 1000000007
#define maxn 100005
int n, k;
int g[maxn], f[maxn], sum[maxn];int qkpow( int x, int y ) {int ans = 1;while( y ) {if( y & 1 ) ans = ans * x % mod;x = x * x % mod;y >>= 1;}return ans;
}int gcd( int x, int y ) {if( ! y ) return x;else return gcd( y, x % y );
}signed main() {scanf( "%lld %lld", &n, &k );g[0] = g[1] = sum[0] = 1, sum[1] = 2;for( int i = 2;i <= n;i ++ ) {g[i] = ( sum[i - 1] - ( ( i - k - 2 < 0 ) ? 0 : sum[i - k - 2] ) + mod ) % mod;sum[i] = ( sum[i - 1] + g[i] ) % mod;}int ans = 0;for( int i = 1;i <= n;i ++ ) {int d = gcd( n, i );if( ! f[d] ) {for( int j = 1;j <= min( k + 1, d );j ++ ) f[d] = ( f[d] + j * g[d - j] % mod ) % mod;//1(m-j) 0 0 0 0 0 0 1(i) //乘以j就是因为最后面的0和1可以彼此旋转也是新的方案if( k >= n ) f[d] = ( f[d] + 1 ) % mod;}ans = ( ans + f[d] ) % mod;}ans = ans * qkpow( n, mod - 2 ) % mod;if( k == n ) ans = ( ans - 1 + mod ) % mod;printf( "%lld\n", ans );return 0;
}

LYK loves jumping

在这里插入图片描述
ti≠0t_i≠ 0ti=0,设能跳xxx个位置,期望步数和为sumsumsum,则dp[i]=1+sumxdp[i]=1+\frac{sum}{x}dp[i]=1+xsum
ti=0t_i=0ti=0,设能跳到xxxhhh不等于hih_ihi的位置,期望步数和为sumsumsumyyyhhh等于hih_ihi的位置,则dp[i]=x+yx+sumxdp[i]=\frac{x+y}{x}+\frac{sum}{x}dp[i]=xx+y+xsum

#include <cstdio>
#include <algorithm>
using namespace std;
#define maxn 100005
struct node {int id, h, t;
}dot[maxn];
int n;
bool vis[maxn];
double step[maxn], sum[maxn], ans[maxn];bool cmp( node x, node y ) {return ( x.h == y.h ) ? x.t > y.t : x.h < y.h;
}int main() {scanf( "%d", &n );for( int i = 1;i <= n;i ++ ) scanf( "%d", &dot[i].h ), dot[i].id = i;for( int i = 1;i <= n;i ++ ) scanf( "%d", &dot[i].t );sort( dot + 1, dot + n + 1, cmp );for( int i = 1;i <= n;i ++ ) {int l = 1, r = i;while( l <= r ) {int mid = ( l + r ) >> 1;if( dot[mid].h <= dot[i].h - dot[i].t ) l = mid + 1;else r = mid - 1;}if( i == r ) {//说明前i个格子都能跳 包括自己 那么意味着ti=0int j;for( j = i + 1;j <= n;j ++ )//i是特殊类型段的开头第一个 往后找于之等高切tj=0的格子if( dot[j].h == dot[i].h && dot[j].t == dot[i].t );else break;j --;for( int k = i;k <= j;k ++ ) {if( vis[k - 1] || i == 1 ) vis[k] = 1, step[k] = 0;else step[k] = ( sum[i - 1] + j ) / ( i - 1 );vis[k] |= vis[k - 1];sum[k] = sum[k - 1] + step[k];}i = j;continue;}if( vis[r] ) step[i] = 0;else if( ! r ) step[i] = 1;else step[i] = sum[r] / r + 1;vis[i] |= vis[i - 1];sum[i] = sum[i - 1] + step[i];}for( int i = 1;i <= n;i ++ ) ans[dot[i].id] = step[i];for( int i = 1;i <= n;i ++ ) printf( "%.4f ", ans[i] );return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cell Phone Network

Cell Phone Network 题意: 每个牧场的电塔可以覆盖与该牧场相邻的电塔&#xff0c;为了让所有牛都可以打电话&#xff0c;求建的电塔的最小数量 题解&#xff1a; 树的最小支配集 dp[x][0]&#xff1a;选点i&#xff0c;并且以点i为根的子树都被覆盖 dp[x][1]&#xff1a;不…

P8207-[THUPC2022 初赛]最小公倍树【Kruskal】

正题 题目链接:https://www.luogu.com.cn/problem/P8207 题目大意 有编号为[L,R][L,R][L,R]区间的点&#xff0c;连接两个点x,yx,yx,y边权的为LCM(x,y)LCM(x,y)LCM(x,y)&#xff0c;求这张图的最小生成树。 1≤L≤R≤106,R−L≤1051\leq L\leq R\leq 10^6,R-L\leq 10^51≤L≤…

微信小程序开发必看,《使用 .NET Core + DevOps 开发微信跨平台应用》,苏州.NET俱乐部课程分享...

【课程名称】《使用 .NET Core DevOps 开发微信跨平台应用》【老师介绍】苏震巍&#xff0c;苏州盛派网络CEO&#xff0c;微软最有价值专家&#xff08;MVP&#xff09;、微软 Ignite 技术大会讲师&#xff0c;Senparc.Weixin作者&#xff0c;《微信开发深度解析》等书作者。苏…

11.14 模拟:总结

update 等出分挂大分再回来打脸 一语成谶了属于是 给自己测了一下 《很棒》 真就挂了大分 实际得分&#xff1a; 00020 T1和T3都挂没了 qwq T1是因为两个背包的定义是不一样的&#xff01; 我应该做两个背包分别跑就好了 T3全部MLE… 我最后十分钟想贪一个T3的第五个点 然后…

P8208-[THUPC2022 初赛]骰子旅行【dp】

正题 题目链接:https://www.luogu.com.cn/problem/P8208 题目大意 给出nnn个点若干条边的一张图中&#xff0c;一个人在111开始随机游走ttt步。 如果他到达一个点他曾经到达过的点&#xff0c;那么就会产生它上次在这个点走向的点的编号的贡献。 求期望贡献。 1≤n≤100,1≤…

Axial symmetry FZU - 2035

Axial symmetry FZU - 2035 题意&#xff1a; 给一个多边形&#xff0c;边平行于x轴或者y&#xff0c;问是否存在对称轴 题解&#xff1a; 将每个点的坐标&#xff0c;以及每个边的中点的坐标&#xff0c;按照顺时针顺序存入&#xff0c;多边形的对称轴一定穿过对应两个点&…

test 7 3-22 2021省选模拟赛seven

文章目录考试复盘人生赢家黑红兔考试复盘 T1T1T1 subtask1:n≤5subtask1:n\le 5subtask1:n≤5&#xff0c;暴搜点的颜色状态以及边的存在状态 对于一条连接相同颜色点的边&#xff0c;可要可不要&#xff0c;不会提供形态变化的贡献&#xff0c;2edge2^{edge}2edge dpdpdp&…

Shadow Properties之美(一)【Microsoft Entity Framework Core随笔】

最近在做公司的项目的时候&#xff0c;开始把部分程序迁移到EF Core&#xff0c;然后有了一些感触&#xff0c;趁着还没忘却&#xff0c;还是先记录下来。EF Core还在成长中&#xff0c;我写这个的时候&#xff0c;版本是2.2。如果对着已有的EF 5/6来说&#xff0c;还有很多功能…

CF1413C Perform Easily(two pointers)

解析 巧夺天工 可以说是把two pointers玩明白了 把所有的可能减出来的结果升序排列一下 然后一个选取区间合法当且仅当这个区间含有1-n所有数的至少一个可能的差 然后就可以two pointers了 #include<bits/stdc.h> const int N2e5100; const int mod1e97; #define ll lon…

CF1039E-Summer Oenothera Exhibition【LCT,根号分治】

正题 题目链接:https://www.luogu.com.cn/problem/CF1039E 题目大意 给出nnn个数的序列&#xff0c;mmm次询问至少将这个序列分成多少段才能满足每一段的和不超过w−qiw-q_iw−qi​。 1≤n,m≤105,1≤w,ai≤1091\leq n,m\leq 10^5,1\leq w,a_i\leq 10^91≤n,m≤105,1≤w,ai​…

E - Another Postman Problem FZU - 2038

E - Another Postman Problem FZU - 2038 题意&#xff1a; n个点通过n-1个边两两相连&#xff0c;每个边有权值&#xff0c;求对于每个点到其他点的距离和的总和 题解&#xff1a; 我们以下图中的1-2这条边为例子&#xff0c;1-2这条边一共计算了几次&#xff1f; 我们现在…

CF1034E Little C Loves 3 III(神仙构造+FWT_OR卷积)

title 题目 solution 先说很神仙的结论构造&#xff1a;对于aia_iai​&#xff0c;aivi∗4pop_count(i)a_iv_i*4^{pop\_count(i)}ai​vi​∗4pop_count(i)&#xff0c;bbb同理 ci∑j∣kiai∗bjc_i\sum_{j|ki}a_i*b_jci​∑j∣ki​ai​∗bj​&#xff0c;则ansi≡ci4pop_coun…

ASP.NET Core 3.0 项目开始“瘦身”

新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”&#xff0c;其背后的基本思想是&#xff0c;包括一个典型的应用程序所需要的所有东西。但是&#xff0c;如果看看该包的依赖项&#xff0c;对“需要”的定义看起来相…

CF1415D:XOR-gun(异或)

这就是CF 解析 这题真的是… …很妙 qwq 考虑到&#xff0c;如果相邻的连续三个二进制最高位相同&#xff0c;那么把后两个异或一下就可以打成目标 而如果不存在连续打三个二进制最高位相同的数&#xff0c;由于ai≤109a_i\leq10^9ai​≤109&#xff0c;所以n必然不超过60 前…

CF1369F-BareLee【博弈论,SG函数】

正题 题目链接:https://www.luogu.com.cn/problem/CF1369F 题目大意 TTT次游戏&#xff0c;每次给出一个sss和ttt&#xff0c;两个人轮流操作&#xff0c;可以让ss1ss1ss1或者ss2ss\times 2ss2&#xff0c;如果s>ts>ts>t的话那个人就输了。 每次输的人将作为下一次的…

D - Maximum Value Problem FZU - 2037

D - Maximum Value Problem FZU - 2037 题意&#xff1b; 这个序列[1&#xff0c;3&#xff0c;2&#xff0c;4]&#xff0c;maxx0.如果将maxx赋值为最大值需要3次&#xff0c;第一次为maxx1&#xff0c;第二次maxx3&#xff0c;第三次maxx4 给你一个n&#xff0c;求n全排列的…

一个.NET Core开发者的Linux入门学习笔记

用.NET Core开发也有一段时间了&#xff0c;但是由于工作原因一直都是在Windows系统上进行的开发&#xff0c;一直想学习Linux然后把.NET Core开发的程序跑在Linux上&#xff0c;然后把心得体会记录一下发布再博客园&#xff0c;奈何拖延症泛滥&#xff0c;所以只写过一篇《Cen…

CF914G Sum the Fibonacci(FWT模板+子集卷积)

title 题目 solution (sa∣sb)&sc&(sd⊕se)2i,i∈Z;sa&sb0(s_a|s_b)\&s_c\&(s_d⊕s_e)2^i,i∈Z;s_a\&s_b0(sa​∣sb​)&sc​&(sd​⊕se​)2i,i∈Z;sa​&sb​0 令isa∣sb,jsc,dsd⊕seis_a|s_b,js_c,ds_d⊕s_eisa​∣sb​,jsc​,dsd​⊕se…

CF1415E New Game Plus(贪心)

解析 把题目标签写在数据范围上的一道题 由于k过大&#xff0c;显然无法dp 那就只能贪了 一开始被完全带跑偏了… 想的是把序列降序排列然后从后往前划分… 这个思路能很简单的写出nkdp 然后就卡住了… 算看了一半题解吧 看到第一段“考虑分成k组”后退出来了 有了这个线头后…

loj#6518-「雅礼集训 2018 Day11」序列【整体二分,dp,线段树】

正题 题目链接:https://loj.ac/p/6518 题目大意 一个长度为nnn的序列aaa&#xff0c;你可以花费111的代价让一个数111或者−1-1−1&#xff0c;给出mmm个限制形如第kkk个数要是区间[l,r][l,r][l,r]的最大/最小值。 求满足所有限制的最小代价 1≤n≤5000,1≤ai≤1051\leq n\l…