佳木斯集训Day8
本来能AK的啊啊啊啊啊,唯一一天可以AK,却被Champion误导了(好吧实际上是我理解有问题)
T1我写了俩小时,就是一道数列题,推公式的,可以二分解,我觉得二分麻烦,就直接想O(1)了
#include <bits/stdc++.h>
#define db double
#define MAXN 5050
#define ll long long
int n;
db a[MAXN],d[MAXN],sum,ans,gou;
using namespace std;
int main()
{
cin>>n;
cin>>a[];
cin>>sum;
sum+=a[]*n;
for(int i=;i<=n;i++)
{
cin>>d[i];
sum-=*d[i]*(n+-i);
}
printf("%0.2f\n",sum/(n+));
return ;
}
T2简单啊...田忌赛马,直接一个DP完事儿了,不知道为什么好多人wa10,据说是贪心的锅,这道题贪心应该也可过,不过需要双指针
#include <bits/stdc++.h>
#define ll long long
#define MAXN 1050
using namespace std;
int n,t,ans;
int a[MAXN],b[MAXN],dp[MAXN][MAXN],f[MAXN][MAXN];
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
cin>>t;
while(t--)
{
int maxn=;
int minx=;
int bigg=;
int smalll=,ii,jj;
cin>>n;
for(int i=;i<=n;i++)
{
cin>>a[i];
minx=min(minx,a[i]);
}
for(int i=;i<=n;i++)
{
cin>>b[i];
maxn=max(maxn,b[i]);
}
/*if(minx>=maxn)
{
if(minx==maxn)
cout<<(n-1)*200;
else
cout<<n*200;
continue;
}*/
sort(a+,a++n,cmp);
sort(b+,b++n,cmp);
for(register int i=;i<=n;i++)
{
for(register int j=;j<=n;j++)
{
if(a[i]>b[j])
dp[i][j]=;
else if(a[i]==b[j])
dp[i][j]=;
else
dp[i][j]=-;
}
}
for (int i=;i<=n;i++)
{
f[i][]=f[i-][]+dp[n-i+][i];
f[i][i]=f[i-][i-]+dp[i][i];
for(int j=;j<i;++j)
{
f[i][j]=max(f[i-][j]+dp[n-i+j+][i],f[i-][j-]+dp[j][i]);
}
}
// for(int i=1;i<=n;i++)
// cout<<f[i][1]<<" ";
int sum=f[n][];
for(int i=;i<=n;++i)
sum=max(sum,f[n][i]);
printf("%d\n",sum);
}
return ;
}
T3裸的Tree DP,最后结果gcd一下就好了,啊啊啊啊啊我没有gcd结果wa0....
#include <bits/stdc++.h>
#define MAXN 1080
using namespace std;
bool vis[];
int spfa[],dp[][];
int n,m,k,nw,ny,ans,pos,l,r,num,top,maxn;
int head[];
queue <int>q;
struct Node{
int to,nxt,dis;
}g[];
void add(int u,int v,int dis)
{
g[++top].to=v;
g[top].nxt=head[u];
g[top].dis=dis;
head[u]=top;
}
int work(int a)
{
return (a%+)%;
}
void dfs(int u,int fa)//父亲和当前的节点
{
dp[u][]=;
for(int i=head[u];i;i=g[i].nxt)
{
int v=g[i].to;
if(v==fa)
continue;
dfs(v,u);
for(int j=;j<;j++)
{
ans+=dp[v][j]*dp[u][work(-j-g[i].dis)]*;
}
for(int j=;j<;j++)
dp[u][work(j+g[i].dis)]+=dp[v][j];
}
}
int main()
{
cin>>n;
for(int i=;i<=n-;i++)
{
int x,y,z;
cin>>x>>y>>z;
add(x,y,z);
add(y,x,z);
}
dfs(,-);
ans+=n;
maxn=n*n;
int g=__gcd(ans,maxn);
cout<<ans/g<<"/"<<maxn/g<<endl;
}
佳木斯集训Day8的更多相关文章
- 佳木斯集训Day1
23333第一次写博客 其实在佳木斯集训之前我都已经两三个月没打代码了 在佳木斯的时候前几天真心手生,导致了前几次考试考的很差... D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00 ...
- [日常训练]常州集训day8
T1 Description 给定一个长度为$n$的正整数序列$a$.可以将序列分成若干段,定义第$i$段的权值$x_i$为这一段中所有数的最大值,特殊地,$x_0=0$.求$\sum_{i=1}^{ ...
- 集训Day8
旧试题Day2... bzoj3436 有若干个集合和一些信息 信息有3种: I.集合A比集合B至少多C个元素 II.集合A比集合B至多多C个元素 III.集合A和集合B元素一样多 求这些信息是否有矛 ...
- 湖南集训day8
难度:☆☆☆☆☆☆☆ /* 可以先考虑一维,可知 模k意义下相同的前缀和任意两个相减都是k的倍数 问题等价于统计前缀何种模k相同的数的对数. 多维的时候二维前缀和,压行或者压列,n^3可以解决. */ ...
- CDQZ集训DAY8 日记
又一次翻车…… 先提一句昨晚的事.昨天晚上身后一帮成都七中的人用十分戏谑的语气交出了达哥的名字,看着NOI2017的获奖名单,如果他们真的是在嘲笑的话,真的挺想上去干他们一顿的…… 上午考试第一题一脸 ...
- 佳木斯集训Day7
毒瘤出题人!!! T2的题面和样例不一样,所以我挂了(没错这就是我写模拟写挂了的理由) T1 大水题,懒得解释了,五分钟AC #include <bits/stdc++.h> #defin ...
- 佳木斯集训Day6
T1还是个找规律啊,记下b的个数,然后直接*2%10000000009就好了 #include <bits/stdc++.h> #define mo 1000000007 using na ...
- 佳木斯集训Day5
今天是ACM赛制...本来可以400的,结果毒瘤T2模拟硬生生卡掉了我90分 T1是个大水题,找规律,5分钟AC没啥压力 #include <bits/stdc++.h> #define ...
- 佳木斯集训Day4
Day4的出题人好毒瘤啊!!! T1我打表过的,正解现在也不会 #include <bits/stdc++.h> #define MAXN 10050 #define ll long lo ...
随机推荐
- POJ 3581:Sequence(后缀数组)
题目链接 题意 给出n个数字的序列,现在让你分成三段,使得每一段翻转之后拼接起来的序列字典序最小.保证第一个数是序列中最大的数. 例如样例是{10, 1, 2, 3, 4},分成{1, 10}, {2 ...
- java 及 Jquery中的深复制 浅复制
发现问题:最近 遇到由于复制对象之后,改变复制后的新变量,原先被复制的对象居然会跟着变. EX:java中: //holidayConfig.getEnd_time()会随着sTime的改变而改变 s ...
- async与await详解
async和await只是编译器功能.编译器会用Task类创建代码.如果不适用这两个关键字,也可以用C#4.0和Task类实现同样的功能,只是没有那么方便. 题主在概念上确实混淆的不行,但是确实asy ...
- (转)Java 8 中的 Streams API 详解
为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 ...
- Linux命令学习-cd命令
Linux中,cd命令的全称是change directory,即改变目录的意思,主要用于切换工作目录到指定目录. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文 ...
- JAVA跳出指定For循环
1. 问题描述 当有多个for循环的时候,如何跳出最外层循环? 2. 解决方案 2.1 正常单个for循环 package com.example.demo; public class TestFor ...
- C语言中的函数与数学上的函数很类似
函数,是C语言编程中一个很重要的概念,重要到个人认为可以与指针并驾齐驱.好多教材.老师.学习资源都会专门挑出一章来讲函数.我今天也来说说函数,只不过我是从数学课上的函数来引申到C语言中的函数. 先来说 ...
- 前端经常碰到的小知识点-----js篇
一 js 1.可视区宽和高 ① document.documentElement.clientWidth //可视区的宽度 document.documentElement.clientHei ...
- Sublime Text 3 实现C语言代码的编译和运行
Sublime Text 3 是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的C语言代码,这就需要在新建编译系统.具体方法如下: 首先: 接下来是关键的一步 ...
- 【HDU - 1560】DNA sequence (dfs+回溯)
DNA sequence 直接中文了 题目描述 21世纪是生物科技飞速发展的时代.我们都知道基因是由DNA组成的,而DNA的基本组成单位是A,C,G,T.在现代生物分子计算中,如何找到DNA之间的最长 ...