CF1173X
CF1173C
由于牌堆只能从最后插牌,所以插牌方法非常显然
首先特判一下牌堆有没有一个合法的后缀,如果有的话再判断一下手中的牌和合法后缀之前的牌的排列顺序能不能有效的继续续下去
然后排除了以上情况就可以直接找\(max(i-b_i)\)就是最早在哪个时刻开始往里按顺序加牌构造递增序列
#include<iostream>
#include<cstdio>
using namespace std;
int w,n,m,k,a[1000001],b[1000001],c[300001];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&b[i]);
for(int i=1;i<=n;i++) scanf("%d",&a[i]), c[a[i]]=i;
int B=0;
k=n;
while(k && a[k-1]==a[k]-1) k--;
if(a[k]==1 || a[k]==0) B=1;
if(a[n]==0) B=1;
if(B)
{
for(int i=1;i<k;i++)
if(a[i] && i-a[i]+a[n]+1>0) B=0;
if(B)
{
printf("%d",n-a[n]);
return 0;
}
}
B=0;
for(int i=1;i<=n;i++) if(a[i])B=max(B,i-a[i]+1);
printf("%d",B+n);
}
CF1173D
边不交叉的条件是每棵子树都要在一段连续的位置
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int M = 1000001;
const int P = 998244353;
int x,y,n,m,k, ver[M], nex[M], edge[M],cnt,A[M],head[M];
void add(int x,int y)
{
ver[++cnt]=y, nex[cnt]=head[x], head[x]=cnt;
ver[++cnt]=x, nex[cnt]=head[y], head[y]=cnt;
}
int dfs(int x,int fa)
{
int s=1, d=1;
for(int i=head[x];i;i=nex[i])
{
if(ver[i]==fa) continue;
d=(LL)d*dfs(ver[i],x)%P;
s++;
}
if(x!=1)return (LL)A[s]*d%P;
return (LL)A[s-1]*d%P;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<n;i++)
{
scanf("%d%d",&x,&y);
add(x,y);
}
A[0]=1;
for(int i=1;i<=n;i++) A[i]=(LL)A[i-1]*i%P;
printf("%d",(LL)n*dfs(1,0)%P);
}
CF1173X的更多相关文章
随机推荐
- python基本数据类型集合set操作
转:https://www.cnblogs.com/tina-python/p/5468495.html 一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值 ...
- Oracle update 两表及以上关联更新,出现多值情况,不是一对一更新
为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中, SQL 代码--客户资料表 create table customers ( customer_id numbe ...
- Makefile总结(转帖)
文章地址:http://www.cnitblog.com/textbox/archive/2009/10/21/62036.aspx makefile 主要包含以下几点 显式规则 :描述了在何种情况 ...
- hbase配置详解(转)
转自:http://www.cnblogs.com/viviman/archive/2013/03/21/2973539.html 1 准备工作 因为我只有一台机器,所以,一切都成为了伪分布,但是,其 ...
- STL笔试面试题总结(干货)(转)
STL笔试面试题总结 一.STL有哪些组件? STL提供六大组件彼此此可以组合套用: 1.容器容器就是各种数据结构,我就不多说,看看下面这张图回忆一下就好了,从实现角度看,STL容器是一种class ...
- 04.join与interrupt
join加入 public class JoinDemo { public volatile static int i = 0; public static class AddThread exten ...
- 测试demo 配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- 【Flutter学习】之动画实现原理浅析(一)
一,动画介绍 动画对于App来说,非常的重要.很多App,正是因为有了动画,所以才会觉得炫酷.移动端的动画库有非常的多,例如iOS上的Pop.web端的animate.css.Android端的And ...
- paper 139:qt超强绘图控件qwt - 安装及配置
qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...
- Python每日一题 006
题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长( ...