TC SRM 573
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove
class WolfPackDivTwo
{public:LL c[55][55];void Init(){for(int i=0;i<=50;i++){c[i][0]=c[i][i]=1;for(int j=1;j<i;j++)c[i][j]=(c[i-1][j]+c[i-1][j-1])%MOD;}}LL check(vi x,vi y,int cx,int cy,int m){LL ans=1;for(int i=0;i<x.size();i++){int a=abs(x[i]-cx)+abs(y[i]-cy);if(a>m || (m-a)&1)return 0;int up=0,down=0,left=0,right=0;int k=m-a;if(x[i]>cx) left=x[i]-cx;else right=cx-x[i];if(y[i]>cy) up=y[i]-cy;else up=cy-y[i];LL t=0;for(int j=0;j*2<=k;j++){int l=left+j;int r=right+j;int u=up+(k-2*j)/2;int d=down+(k-2*j)/2;t=((((c[m][l]*c[m-l][r])%MOD)*c[m-l-r][u]%MOD)+t)%MOD;}ans=((LL)ans*t)%MOD;}return ans;}int calc(vector <int> x, vector <int> y, int m){LL ans=0;Init();for(int i=-51;i<=151;i++){for(int j=-51;j<=151;j++){ans=(ans+check(x,y,i,j,m))%MOD;}}return ans;}
}
class SkiResorts
{public:long long minCost(vector <string> r, vector <int> h){int n=h.size();int w[n];LL dp[n][n];for(int i=0;i<n;i++)w[i]=h[i];sort(w,w+n);bool in[n];mem(in,false);mem(dp,-1);for(int i=0;i<n;i++)dp[0][i]=abs(h[0]-w[i]);queue<int>que;que.push(0);in[0]=true;while(!que.empty()){int u=que.front();que.pop();in[u]=false;for(int i=0;i<n;i++){if(r[u][i]=='N') continue;for(int j=0;j<n;j++){for(int k=0;k<=j;k++){if(dp[i][k]==-1||dp[i][k]>dp[u][j]+abs(h[i]-w[k])){dp[i][k]=dp[u][j]+abs(h[i]-w[k]);if(in[i]==false){in[i]=true;que.push(i);}}}}}}LL ans=-1;for(int i=0;i<n;i++)if(dp[n-1][i]!=-1){if(ans==-1||dp[n-1][i]<ans)ans=dp[n-1][i];}return ans;}
}
TC SRM 573相关推荐
- TC SRM 655 Div1 Level 3 题解
TC SRM 655 Div1 Level 3 题解 题目传送门 dp+几何 首先可以发现凸包是顺时针排列的一些线段构成的.我们可以预处理每一个蓝点是否都在一个线段 r [ i ] → r [ j ] ...
- TC(SRM)和CF入门教程for ACMer[转载]
一.TC基本介绍TC的网址www.topcoder.com/tc,我们一般提到TC的时候是特指其中的Single Round Match(SRM).SRM的规则总结起来就是一句话:75分钟做完3道难度 ...
- TC(SRM)和CF入门教程for ACMer
一.TC基本介绍 TC的网址www.topcoder.com/tc,我们一般提到TC的时候是特指其中的Single Round Match(SRM). SRM的规则总结起来就是一句话:75分钟做完3道 ...
- TC SRM 562 div2 B 题
题意: 给你一个矩形的画布,此画布由'B'和'.'组成,画T次每次画的时候他的左上角的起始点是确定的几位(1,1),(2,2),(3,3)......(T,T); 在画的过程中可能会出现相互覆盖求画完 ...
- TC SRM 593 DIV2 1000
很棒的DP,不过没想出,看题解了..思维很重要. 1 #include <iostream> 2 #include <cstdio> 3 #include <cstrin ...
- [TC SRM 685 div1 lev1] MultiplicationTable2
转载: https://www.linkedin.com/pulse/topcoder-685-multiplicationtable2-yingwu-zhu Note: 生成封闭集合方式. Prob ...
- TC SRM 665 DIV2 B LuckyCycle 暴力
LuckyCycle Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.a ...
- TC SRM 553 DIV2
转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526 by---cxlove 赤裸裸的又在送rate. 250 ...
- 【TC SRM 312 Div1 Level3】CheapestIsland(轮廓线DP)(最小表示法)
传送门 随便抓了一道题来复习轮廓线DP. 听说和[JLOI2009 神秘的生物]本质上是一样的,没看,不清楚. 题解: 给一个棋盘图,每个格子有权值,求权值之和最小的连通块. 没什么难度,熟悉轮廓线的 ...
最新文章
- 【Android 热修复】热修复原理 ( 修复包 Dex 文件准备 | Dex 优化为 Odex | Dex 文件拷贝 | 源码资源 )
- android热更新插件,与Android热更新方案Amigo的再次接触
- 尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版(四)
- mysql 备库,高性能MySQL:主库、分发主库以及备库
- java方法嵌套数据源切换_SpringBoot AOP方式实现多数据源切换的方法
- 自己写的_top、_parent以及对iframe和frameset的理解
- android横向纵向切换,【报Bug】安卓竖屏切换到横屏后,再切换回竖屏,不能正常还原...
- axure 彻底删除lib_axure-rplib
- CAD快捷键命令------画矩形
- MAC读取NTFS移动硬盘方法
- 了解计算机的配置及价格行情,最新电脑配置清单及价格的详细介绍
- YY直播黑盒测试工程师笔试题
- 空间分析建模目的_房产测绘与二三维一体化建模研究——以连云港市为例
- 基于 Paraview 扩展与实现——(2)
- 【回归预测】基于TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)实现数据多输入单输出回归预测附matlab代码
- IDEA+SpringBoot+Vue
- java能用绝对值吗_Java中绝对值函数的介绍与其妙用
- 散列:排解冲突(1)
- 了解python语言的开发者_Python开发者
- Jenkins安装与系统配置
热门文章
- 企业软件投资:逆势穿越周期,重回黄金时代
- 【转载】中庸与技术书
- 只有伤心的理由,没有沉沦的借口。
- Linux系统centos7关闭防火墙命令
- 关于计算机固态硬盘正确的是,SSD的不正确使用说明,建议你们不要打开
- E.03.09 China Tried to Slow Divorces by Making Couples Wait. Instead, They Rushed.
- SERVER SQL CASE
- python和nltk自然语言处理百度云盘下载_把python自然语言处理的nltk_data打包到360云盘,然后共享给朋友们...
- 广电网宽带 如果要远程连接阿里RDS数据库,设置了白名单也不行。
- 液化石油气采样钢瓶标准取样流程