【DP】方格计数(nowcoder 20107-B)

正题

nowcoder 20107-B


题目大意

在一个H*W的平面上,选择N个点(坐标为非负整数),使得每个点之间的距离大于D,问你有多少种方案


解题思路

fi,j,kf_{i,j,k}fi,j,k为有i个格子,选择k个格子,距离最少为j的方案数,预处理f

然后枚举斜率,得出以各个点为起点的最大长度,然后乘上方案数


code

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 510
#define wyc 1000000007
using namespace std;
ll T,n,m,L,s,nn,g,len,ans,d[N][N],f[N][N][100];
int main()
{for(ll i=1;i<=500;++i)d[i][0]=d[0][i]=i;for(ll i=1;i<=500;++i)for(ll j=1;j<=i;++j)d[i][j]=d[j][i]=d[j][i%j];for(ll j=1;j<=500;++j){f[0][j][0]=1;for(ll i=1;i<=500;++i){for(ll k=0;k<=50;++k)f[i][j][k]=f[i-1][j][k];if(i>=j)for(ll k=1;k<=50;++k)(f[i][j][k]+=f[i-j][j][k-1])%=wyc;}}scanf("%lld",&T);while(T--){scanf("%lld%lld%lld%lld",&s,&n,&m,&L);ans=0;if(s==1){printf("%lld\n",(n+1)*(m+1)%wyc);continue;}for(ll i=0;i<=n;++i)for(ll j=0;j<=m;++j){if(d[i][j]!=1)continue;if(i==0||j==0)g=1;else g=2;//水平翻转也计算一遍len=ceil(L/sqrt(i*i+j*j));for(ll k=1;k;++k){if(i*k>n||j*k>m)break;(ans+=(n-i*k+1)*(m-j*k+1)%wyc*(f[k][len][s-1]-f[k-1][len][s-1])%wyc*g%wyc)%=wyc;//(n-i*k+1)*(m-j*k+1)为有多少点可以以此为起点,f[k][len][s-1]-f[k-1][len][s-1]为每个点求最长的,如果不是最长要减去}}printf("%lld\n",(ans+wyc)%wyc);}return 0;
}

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

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

相关文章

YbtOJ#853-平面标记【整体二分,凸壳】

正题 题目链接:http://www.ybtoj.com.cn/contest/119/problem/3 题目大意 给出nnn个点(xi,yi)(x_i,y_i)(xi​,yi​)&#xff0c;mmm次给出(ki,ai)(k_i,a_i)(ki​,ai​)表示标记所有满足 yj>kixjaiy_j>\frac{k_i}{x_j^{a_i}}yj​>xjai​​ki​​的未标记点 求每个点…

Ocelot简易教程(五)之集成IdentityServer认证以及授权

最近比较懒&#xff08;编者注&#xff1a;作者不是真懒&#xff0c;而是在憋大招&#xff0c;他最近实现了把Ocelot的配置使用数据库存储&#xff09;&#xff0c;所以隔了N天才来继续更新第五篇Ocelot简易教程&#xff0c;本篇教程会先简单介绍下官方文档记录的内容然后在前几…

【启发式合并】【dfs】树数树(nowcoder 20107-C)

正题 nowcoder 20107-C 题目大意 给一棵树&#xff0c;让你构造一个序列a&#xff0c;使得a中的数互不相等&#xff0c;且相邻点是祖先的关系&#xff0c;回答序列最长长度 解题思路 书中的每个点可以把字数的两个序列连起来 考虑维护一个堆&#xff0c;存子树中的序列&…

CF848E-Days of Floral Colours【dp,分治NTT】

正题 题目链接:https://www.luogu.com.cn/problem/CF848E 题目大意 2n2n2n个花排成一个圆环&#xff0c;nnn种颜色每种两个&#xff0c;要求两个相同颜色之间最小距离为1,21,21,2或nnn。 对于一种染色方案的权值为&#xff1a;删除掉距离为nnn的颜色后&#xff0c;剩下的连续…

2020 China Collegiate Programming Contest Qinhuangdao Site 补题部分

已经补AEFGK E. Exam Results 枚举二分动态开点权值线段树O(nlogN)O(nlogN)O(nlogN) 智商太低&#xff0c;想不到什么贪心只能暴力数据结构维护 对于所有学生的最高成绩只可能是ai(1≤i≤n)a_i(1\leq i\leq n)ai​(1≤i≤n)或者最大的bib_ibi​&#xff0c;对于后面一种情况…

CCPC Training Class

杭电oj 题意&#xff1a; 字符串中出现次数最多的字母的次数是多少&#xff1f; 题解&#xff1a; 题目看不懂。。。又臭又长 懒得看。。 但是仔细看样例就会发现。。其实考的很简单 比赛时这题是我做的&#xff0c;以下为考试原码 代码&#xff1a; #include<string&…

【交互】Omkar and the Meaning of Life(CF-1586D)

正题 CF-1586D 题目大意 有一个大小为n的数列a&#xff0c;你可以进行最多2*n次查询 对于每次查询&#xff0c;你要给出一个大小为n的数列b&#xff0c;ciaibic_ia_ib_ici​ai​bi​&#xff0c;题目会回答c中出现次数大于2的数的最早出现位置 现在让你得出a数组 解题思路 …

ASP.NET Core 集成测试中结合 WebApplicationFactory 使用 SQLite 内存数据库

SQLite 内存数据库&#xff08;in-memory database&#xff09;的连接字符串是 Data Source:memory: &#xff0c;它的特点是数据库连接一关闭&#xff0c;数据库就会被删除。而使用 services.AddDbContext 通过连接字符串配置 EF Core 时&#xff0c;EF Core 会在每次查询或…

P4389-付公主的背包【生成函数,多项式exp】

正题 题目链接:https://www.luogu.com.cn/problem/P4389 题目大意 nnn种物品&#xff0c;第iii种大小为viv_ivi​&#xff0c;数量无限。对于每个s∈[1,m]s\in[1,m]s∈[1,m]求刚好填满sss容量的方案数。 1≤n,m≤1051\leq n,m\leq 10^51≤n,m≤105 解题思路 统计和为一定值的…

mex性质学习

E.Complicated Computations 如果一个区间的mexamexamexa&#xff0c;满足以下条件&#xff1a; 区间未出现aaa区间出现1→a−11\to a-11→a−1 因此若考虑是否存在一个区间的mex值是aaa&#xff0c;我们尝试把整个区间以aaa为端点划分成若干段&#xff0c;只要每一段内&…

Cows

题目 题意: 有一群牛&#xff0c;每个牛有两个属性值[S,E]&#xff0c;如果牛i和牛j属性值满足Si < Sj 且 Ej < Ei 且 Ei - Si > Ej - Sj&#xff0c;牛i比牛j强壮&#xff0c;输出每个牛比自己强壮的牛的数量。 题解&#xff1a; 我们可以把[S,E]看作坐标&#x…

【SAM】差异(P4248)

正题 P4248 题目大意 设TiT_iTi​为第i个字符开始的后缀&#xff0c;求&#xff1a; ∑i1n∑ji1nlen(Ti)len(Tj)−2lcp(Ti,Tj)\sum_{i1}^n \sum_{ji1}^n len(T_i)len(T_j)-2\times lcp(T_i,T_j)i1∑n​ji1∑n​len(Ti​)len(Tj​)−2lcp(Ti​,Tj​) 解题思路 用SAM建立paren…

P4345-[SHOI2015]超能粒子炮·改【Lucas定理,类欧】

正题 题目链接:https://www.luogu.com.cn/problem/P4345 题目大意 TTT组询问&#xff0c;给出n,kn,kn,k求 ∑i0k(ni)\sum_{i0}^{k}\binom{n}{i}i0∑k​(in​) 对233323332333取模的值 1≤T≤105,1≤k≤n≤10181\leq T\leq 10^5,1\leq k\leq n\leq 10^{18}1≤T≤105,1≤k≤n≤1…

AServer - 基于Asp.net core Kestrel的超迷你http服务器

AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器。它可以集成进你的Core程序里&#xff0c;用来快速的响应Http请求&#xff0c;而不需要集成整个ASP.NET Core MVC 框架。一&#xff1a;什么是ASever&#xff1f;AServer就像它的名字一样&#xff0c;Just a serv…

特征根是复数的二阶微分方程

考虑如下微分方程d2ydx2a1dydxa2x0\frac{d^2y}{dx^2}a_1\frac{dy}{dx}a_2x0dx2d2y​a1​dxdy​a2​x0 众所周知&#xff0c;一般求得二阶常系数线性微分方程的通常由以下步骤 根据微分方程写出它的特征方程λ2a1λa20\lambda^2a_1\lambdaa_20λ2a1​λa2​0求解特征方程的两个…

Buy and Resell 2018中国大学生程序设计竞赛 - 网络选拔赛

题目 题意&#xff1a; n个宝石&#xff0c;宝石的买入或卖出价格固定&#xff0c;一天只能到一个珠宝商店&#xff08;从左到右&#xff09;&#xff0c;问最大利润是多少&#xff1f;在保证最大利润的同时最少交换次数是多少&#xff1f; 题解&#xff1a; 题目有两问&am…

基于Service fabric + Ocelot + Identity Server4 + 52ABP 的案例展示

10.24-27 大会Microsoft Tech Summit 2018 在上海举办&#xff0c;我 有幸受邀成为这场大会的讲师。Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行&#xff0c;这也会是国内举办的最后一届 Tech Summit&#xff0c;2019 年开始会以 Micr…

【网络流】植物大战僵尸(P2805)

正题 P2805 题目大意 在一个nmn\times mnm的平面上有若干植物&#xff0c;每个植物有其攻击集合&#xff0c;吃掉一个植物要先吃掉该植物右边的所有植物&#xff0c;且该植物不能在任何一个植物的攻击集合内&#xff0c;吃掉后有贡献ai,ja_{i,j}ai,j​&#xff0c;问你最大贡…

YbtOJ#763-攻城略池【线段树合并】

正题 题目链接:http://www.ybtoj.com.cn/problem/763 题目大意 给出nnn个点的一棵树&#xff0c;每个di0d_i0di​0的点每秒会产生一个士兵往根节点走&#xff0c;走到一个节点让一个节点did_idi​减一&#xff08;为000就不管&#xff09;。 求需要多久才能让所有点的ddd值变…

ARC106——E - Medals

E - Medals 首先看到这题看不出是一个匹配的题大佬题解 把每一个工人和每一天看成一个二分图&#xff0c;如果某个工人在某天工作&#xff0c;那么两者存在边&#xff0c;现在问题转化成至少需要多少天&#xff0c;能够把nnn个工人全部匹配kkk次 显然天数可以二分&#xff0…