佳木斯集训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 ...
随机推荐
- 黑马程序员_ADO.Net(ExecuteReader,Sql注入与参数添加,DataSet,总结DataSet与SqlDataReader )
转自https://blog.csdn.net/u010796875/article/details/17386131 一.执行有多行结果集的用ExecuteReader SqlDateReader ...
- Python中的函数及函数参数的使用
函数:一个工具,随调随用 降级代码冗余 增加代码的复用性,提高开发效率,为了不成为cv战士 提高程序扩展性 函数有两个阶段:定义阶段,调用阶段. 定义时:只检查函数体内代码语法,不执行函数体内代码. ...
- leadcode的Hot100系列--62. 不同路径--简单的动态规划
题目比较清晰,简单来说就是: A B C D E F G H I J K L 只能往右或者往下,从A到L,能有几种走法. 这里使用动态规划的方法来做一下. 动态规划最重要的就是动态方程,这里简单说下这 ...
- bzoj3125: CITY 题解
3125: CITY Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 486 Solved: 213[Submit][Status][Discuss] ...
- WinForm控件之【CheckedListBox】
基本介绍 复选框列表控件,以复选框的形式将一个或多个项列表展示,从目前的情况来看应用非常有限并不广泛. 常设置属性.事件 CheckOnClick:值为true时单击项即可更改项的勾选状态,值为fal ...
- vector是序列式容器而set是关联式容器。set包含0个或多个不重复不排序的元素。
1.vector是序列式容器而set是关联式容器.set包含0个或多个不重复不排序的元素.也就是说set能够保证它里面所有的元素都是不重复的.另外对set容器进行插入时可以指定插入位置或者不指定插入位 ...
- 个人永久性免费-Excel催化剂功能第29波-追加中国特色的中文相关自定义函数
中文世界里,有那么几个需求在原生Excel里没提供,例如财务部的数字转大写金额,文字转拼音等,在其他插件里,大部分是以功能区菜单按钮的方式提供.Excel催化剂认为,最佳的使用方式乃是自定义函数的方式 ...
- Python学习3——Python的简单推导
列表推导是一种从其他列表创建列表的方式,类似于数学中的集合推导,列表推导的工作原理非常简单,类似于for循环.(以下代码均在IDLE实现) 最简单的列表推导: >>>[x*x for ...
- MYSQL数据库数据类型
07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是 ...
- David与Vincent的博弈游戏[树型DP]
\(\mathcal{Description}\) \(\mathcal{Solution}\) 根据题意,我们知道 根节点深度为1,深度为 奇数 的节点由\(David\)移动,我们称为\(D\)点 ...