博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2015年普及租第三题求和40分解法
阅读量:6487 次
发布时间:2019-06-24

本文共 994 字,大约阅读时间需要 3 分钟。

今年好不容易过了初赛,复赛却考了个0分,具体的故事请到我的博客里查看。

程序

题目你们都知道,我就直接写了。

//库我省略了。using namespace std;int color[105][105],colk[105],ans;struct point{    int num,col;} a[3005];int main(){    //freopen("sum.in","r",stdin);    //freopen("sum.out","w",stdout);    int n,m;    cin>>n>>m;    for(int i=1;i<=n;i++)    {        cin>>a[i].num;    }    for(int i=1;i<=n;i++)    {        cin>>a[i].col;        color[a[i].col][++colk[a[i].col]]=i;    }    for(int i=1;i<=m;i++)    {        for(int j=1;j<=colk[i];j++)        {            for(int k=j+1;k<=colk[i];k++)            {                int x=color[i][j],z=color[i][k];                if(x!=z && (z-x)%2==0 && a[x].col==a[z].col)                {                    ans+=(x+z)*(a[x].num+a[z].num);                    ans%=10007;                }            }        }    }    cout<
<

解法

让我们来看一下数据范围,40分是n<=3000,m<=100,n可能有点大,我们就不用他,用m,将颜色分类。因x和z要是同色,所以用三重循环,最外面一层循环颜色,中间x,最里面y,然后再循环中检验一下,这道题就顺利40分了。

转载于:https://www.cnblogs.com/NightRaven/p/9333272.html

你可能感兴趣的文章
脱离标准文档流(2)---定位
查看>>
IO流之字符流
查看>>
集合异常之List接口
查看>>
Softmax回归
查看>>
紫书 习题11-11 UVa 1644 (并查集)
查看>>
App工程结构搭建:几种常见Android代码架构分析
查看>>
使用openssl进行证书格式转换
查看>>
Callable和Future
查看>>
少用数字来作为参数标识含义
查看>>
ScrollView中嵌套ListView
查看>>
观察者模式
查看>>
在properties.xml中定义变量,在application.xml中取值问题
查看>>
【故障处理】ORA-12545: Connect failed because target host or object does not exist
查看>>
js判断移动端是否安装某款app的多种方法
查看>>
学习angularjs的内置API函数
查看>>
4、输出名称 Exported names
查看>>
Pre-echo(预回声),瞬态信号检测与TNS
查看>>
【转载】如何发送和接收 Windows Phone 的 Raw 通知
查看>>
poj2378
查看>>
Java文件清单列表
查看>>