本来能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的更多相关文章

  1. 佳木斯集训Day1

    23333第一次写博客 其实在佳木斯集训之前我都已经两三个月没打代码了 在佳木斯的时候前几天真心手生,导致了前几次考试考的很差... D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00 ...

  2. [日常训练]常州集训day8

    T1 Description 给定一个长度为$n$的正整数序列$a$.可以将序列分成若干段,定义第$i$段的权值$x_i$为这一段中所有数的最大值,特殊地,$x_0=0$.求$\sum_{i=1}^{ ...

  3. 集训Day8

    旧试题Day2... bzoj3436 有若干个集合和一些信息 信息有3种: I.集合A比集合B至少多C个元素 II.集合A比集合B至多多C个元素 III.集合A和集合B元素一样多 求这些信息是否有矛 ...

  4. 湖南集训day8

    难度:☆☆☆☆☆☆☆ /* 可以先考虑一维,可知 模k意义下相同的前缀和任意两个相减都是k的倍数 问题等价于统计前缀何种模k相同的数的对数. 多维的时候二维前缀和,压行或者压列,n^3可以解决. */ ...

  5. CDQZ集训DAY8 日记

    又一次翻车…… 先提一句昨晚的事.昨天晚上身后一帮成都七中的人用十分戏谑的语气交出了达哥的名字,看着NOI2017的获奖名单,如果他们真的是在嘲笑的话,真的挺想上去干他们一顿的…… 上午考试第一题一脸 ...

  6. 佳木斯集训Day7

    毒瘤出题人!!! T2的题面和样例不一样,所以我挂了(没错这就是我写模拟写挂了的理由) T1 大水题,懒得解释了,五分钟AC #include <bits/stdc++.h> #defin ...

  7. 佳木斯集训Day6

    T1还是个找规律啊,记下b的个数,然后直接*2%10000000009就好了 #include <bits/stdc++.h> #define mo 1000000007 using na ...

  8. 佳木斯集训Day5

    今天是ACM赛制...本来可以400的,结果毒瘤T2模拟硬生生卡掉了我90分 T1是个大水题,找规律,5分钟AC没啥压力 #include <bits/stdc++.h> #define ...

  9. 佳木斯集训Day4

    Day4的出题人好毒瘤啊!!! T1我打表过的,正解现在也不会 #include <bits/stdc++.h> #define MAXN 10050 #define ll long lo ...

随机推荐

  1. shell 循环打印某一天后的n天的日期

    #!/bin/bash start_date="2017-10-26" for i in `seq 0 30` do num=$((${i}+1)) datatime=`date ...

  2. Java并发包中线程池ThreadPoolExecutor原理探究

    一.线程池简介 线程池的使用主要是解决两个问题:①当执行大量异步任务的时候线程池能够提供更好的性能,在不使用线程池时候,每当需要执行异步任务的时候直接new一个线程来运行的话,线程的创建和销毁都是需要 ...

  3. SCUT 125 :笔芯回文(DP)

    https://scut.online/p/125 125. 笔芯回文 题目描述 bxbx有一个长度一个字符串SS,bxbx可以对其进行若干次操作. 每次操作可以删掉一个长度为k(1 \leq k \ ...

  4. ajax请求中 两种csrftoken的发送方法

    通过ajax的方式发送两个数据进行加法运算 html页面 <body> <h3>index页面 </h3> <input type="text&qu ...

  5. c++二分查找

    c++二分查找 题目是在一些数字里找出一个数字,并输出他在第几行 代码 + 注释 #include <stdio.h> #include<iostream> using nam ...

  6. C程序中可怕的野指针

    一.疑问点指针是C语言一个很强大的功能,同时也是很容易让人犯错的一个功能,用错了指针,轻者只是报个错,重者可能整个系统都崩溃了.下面是大家在编写C程序时,经常遇到的一种错误的使用方法,也许在你的学习和 ...

  7. Django工程的分层结构

    前言 传统上我们都知道在Django中的MTV模式,具体内容含义我们再来回顾一下: M:是Model的简称,它的目标就是通过定义模型来处理和数据库进行交互,有了这一层或者这种类型的对象,我们就可以通过 ...

  8. 比赛:小奔的矩形solution

    分析: 交叉相乘,然后除以最大公因数(为了减少爆常数的可能性std做了两次,数据很大),得到的两个数相加减二就是答案 代码: var p,q,n,m,a,b,i:int64; begin readln ...

  9. Java NIO学习系列五:I/O模型

    前面总结了很多IO.NIO相关的基础知识点,还总结了IO和NIO之间的区别及各自适用场景,本文会从另一个视角来学习一下IO,即IO模型.什么是IO模型?对于不同人.在不同场景下给出的答案是不同的,所以 ...

  10. [POJ 2888]Magic Bracelet[Polya Burnside 置换 矩阵]

    也许更好的阅读体验 \(\mathcal{Description}\) 大意:给一条长度为\(n\)的项链,有\(m\)种颜色,另有\(k\)条限制,每条限制为不允许\(x,y\)颜色连在一起.要求有 ...