当前位置: 首页 > news >正文

用java做网站的步骤/网站建设网站

用java做网站的步骤,网站建设网站,高安市网站建设公司,凡科怎么做网站DescriptionDescriptionDescription 给定nnn个点及它们的坐标,满足它们的坐标都是整数,若它们可以射出与坐标轴平行的射线,求它们射线没有一个射线相交的方案数(必须射出) 对于前30%的数据,n≤9n ≤ 9n≤…

DescriptionDescriptionDescription

给定nnn个点及它们的坐标,满足它们的坐标都是整数,若它们可以射出与坐标轴平行的射线,求它们射线没有一个射线相交的方案数(必须射出)

对于前30%的数据,n≤9n ≤ 9n9
对于前40%的数据,n≤18n ≤ 18n18
对于前60%的数据,n≤36n ≤ 36n36
对于前100%的数据,n≤54n ≤ 54n54,对于所有i,ji, ji,j,有xi≠xjx_i ≠ x_jxi̸=xjyi≠yjy_i ≠ y_jyi̸=yj,且∣xi∣,∣yi∣≤109|x_i|, |y_i| ≤ {10} ^ 9xi,yi109


SolutionSolutionSolution

dpdpdp

首先将坐标按xxx排序,然后接下来dpdpdp转移即可


CodeCodeCode

#include<cstdio>
#include<cctype>
#include<algorithm>
#define wyc 998244353
#define rs(a,b,c,d,e) for(a=0;a<e;a++)for(b=0;b<e;b++)for(c=0;c<e;c++)for(d=0;d<e;d++)
using namespace std;
struct node{int x,y;}p[55];
inline bool cmp(node x,node y){return x.x<y.x||x.x==y.x&&x.y<y.y;}//按横坐标排序 
bool ok[55][4];
int n,f[2][55][55][55][55],now,nxt,anxt,bnxt,cnxt,dnxt,a,b,c,d;
long long ans;
inline char Getchar()
{static char buf[10000000],*p1=buf+10000000,*pend=buf+10000000;if(p1==pend){p1=buf; pend=buf+fread(buf,1,10000000,stdin);if (pend==p1) return -1;}return *p1++;
}
inline long long read()
{char c;int d=1;long long f=0;while(c=Getchar(),!isdigit(c))if(c==45)d=-1;f=(f<<3)+(f<<1)+c-48;while(c=Getchar(),isdigit(c)) f=(f<<3)+(f<<1)+c-48;return d*f;
}
signed main()
{n=read();for(register int i=1;i<=n;i++) p[i]=(node){read(),read()};sort(p+1,p+1+n,cmp);for(register int i=1;i<=n;i++){ok[i][0]=ok[i][1]=ok[i][2]=ok[i][3]=true;for(register int j=1;j<=n;j++)if(i!=j){if(p[i].y==p[j].y&&p[i].x>p[j].x) ok[i][0]=false;//纵坐标相等,横坐标更大,则不能向左 if(p[i].x==p[j].x&&p[i].y<p[j].y) ok[i][1]=false;//横坐标相同,纵坐标更小,则不能向上if(p[i].y==p[j].y&&p[i].x<p[j].x) ok[i][2]=false;//纵坐标相等,横坐标更小,则不能向右if(p[i].x==p[j].x&&p[i].y>p[j].y) ok[i][3]=false;//横坐标相同,纵坐标更大,则不能向下 if(!ok[i][0]&&!ok[i][1]&&!ok[i][2]&&!ok[i][3]) break;}}f[0][0][0][0][0]=1;nxt=1;for(register int i=1;i<=n;now^=1,nxt^=1,i++){rs(a,b,c,d,i)if(f[now][a][b][c][d]){if(ok[i][0])//若能向左{if((!c||p[c].y>p[i].y)&&(!d||p[d].y<p[i].y)){anxt=a;bnxt=b;cnxt=c;dnxt=d;(f[nxt][anxt][bnxt][cnxt][dnxt]+=f[now][a][b][c][d])%=wyc;}}if(ok[i][1])//若能向上 {if(!b||p[i].y>p[b].y){anxt=a;bnxt=b;cnxt=c;dnxt=d;if(!c||p[i].y<p[c].y) cnxt=i; (f[nxt][anxt][bnxt][cnxt][dnxt]+=f[now][a][b][c][d])%=wyc;}}if(ok[i][2])//若能向右 {anxt=a;bnxt=b;cnxt=c;dnxt=d;if(!a||p[i].y<p[a].y) anxt=i;if(!b||p[i].y>p[b].y) bnxt=i;(f[nxt][anxt][bnxt][cnxt][dnxt]+=f[now][a][b][c][d])%=wyc;}if(ok[i][3])//若能向下 {if(a==0||p[i].y<p[a].y){anxt=a;bnxt=b;cnxt=c;dnxt=d;if(!d||p[i].y>p[d].y) dnxt=i; (f[nxt][anxt][bnxt][cnxt][dnxt]+=f[now][a][b][c][d])%=wyc;}}}rs(a,b,c,d,i+1) f[now][a][b][c][d]=0;}now=n&1;rs(a,b,c,d,n+1) ans+=f[now][a][b][c][d];printf("%lld",ans%wyc);
}
http://www.jmfq.cn/news/5044357.html

相关文章:

  • 威客做网站/南宁今日头条最新消息
  • seo 网站换程序/网络营销有哪些例子
  • 浙江网站建设价格/极速建站网站模板
  • 网站建设全域云/培训班有哪些课程
  • wordpress建站是什么/seo外包公司需要什么
  • 游戏网站建设收费明细/最近发生的新闻事件
  • bootstrap制作简单网站/南京百度seo公司
  • 建设厅焊工证在哪里办/windows优化
  • 广州营销型网站建设公司/网络推广和网站推广平台
  • 谁家做网站/免费制作小程序平台
  • 牡丹区建设局网站/网络推广员岗位职责
  • 自己在家开网站做推广/最近国际新闻大事20条
  • 湟中网站建设/网络推广需要什么
  • 老年门户网站建设的意义/seo是干什么的
  • 网站建设视频百度云/seo排名查询
  • 怎么查看网站空间大小/百度首页官网
  • 手机网站制作行业排行/最近的国际新闻
  • 找产品代理去哪个网站/百度快速收录工具
  • 家装公司网站/软文营销写作技巧
  • b2c旅游网站建设/一周热点新闻
  • 全包网站/西安网红
  • 新闻聚合网站怎么做/产品推广计划书怎么写
  • 电子商务网站的建设费用/百度推广登陆入口
  • 免费学习做网站/google推广妙招
  • 网站建设优化教程/关键词网站查询
  • 网站设计与管理方向/百度知道在线
  • 青岛关键词网站排名/app关键词排名优化
  • 营销类网站建营销类网站建设/网络销售的工作内容
  • 网站支付接口如何做/百度推广的广告真实可信吗
  • 企业网站建设最新技术/中国seo网站