Problem A: 选举

题意

给出一个投票过程。有\(n\)个选民和\(m\)个候选人,每个选民\(i\)有个不重且有序的可投集合\(\{a_i\}\)。

对于第一轮投票,选民\(i\)会投给\(a_{i,1}\);之后的每一轮,Ta会投给自己集合中上一轮得票最多的人,如果有多个最多,投给位置靠前的。

当所有选民的投票与上轮一样时,投票结束。

要求构造一个\(n,m\le 1000\)的选民与候选人以及可投集合,使得投票轮数大于\(490\)


目前没有人证出轮数上界。

一个思路是,一点一点改变,后面的先不动。

1 2
2
2
3 2
3 4
4
4
5 4
5 6
6
...

没了

然而我脑子蠢,当然想不到,考试时交了个随机生成器...


Code:

#include <cstdio>
int main()
{
puts("993 498\n2 1 2");
for(int i=2;i<=497;i++)
if(i&1) printf("2 %d %d\n2 %d %d\n",i,i-1,i,i+1);
else printf("1 %d\n1 %d\n",i,i);
return 0;
}

2019.1.15

Problem A: 选举 解题报告的更多相关文章

  1. ZOJ Problem Set - 1025解题报告

    ZOJ Problem Set - 1025 题目分类:基础题 原题地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=10 ...

  2. ACM: A Simple Problem with Integers 解题报告-线段树

    A Simple Problem with Integers Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%lld & %l ...

  3. BestCoder18 1002.Math Problem(hdu 5105) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5105 题目意思:给出一个6个实数:a, b, c, d, l, r.通过在[l, r]中取数 x,使得 ...

  4. Problem - 433C - Codeforces解题报告

    对于这题本人刚开始的时候的想法是:先把最大两数差的位置找到然后merge计算一个值再与一连串相同的数做merge后计算一个值比较取最大值输出:可提交后发现不对,于是本人就搜了一下正解发现原来这题的正确 ...

  5. Problem A: 种树 解题报告

    Problem A: 种树 Description 很久很久以前,一个蒟蒻种了一棵会提问的树,树有\(n\)个节点,每个节点有一个权值,现在树给出\(m\)组询问,每次询问两个值:树上一组点对\((x ...

  6. Problem C: 多线程 解题报告

    Problem C: 多线程 Description 多线程是一种常见的加速手段,利用多个线程同时处理不同的任务可以一定程度上减少总耗时,达到提高效率的目的.然而,多个线程间的执行顺序是完全不可控的, ...

  7. Problem A: 踢罐子 解题报告

    Problem A: 踢罐子 Description 平面上有\(n\)个点,其中任意2点不重合,任意3点不共线. 我们等概率地选取一个点A,再在剩下的\(n-1\)个点中等概率地选取一个点B,再在剩 ...

  8. Problem B: 专家系统 解题报告

    Problem B: 专家系统 Description 一个专家系统是指,你雇佣了\(n\)个专家,他们每个人会做出一个结果,然后你从中选取较多的专家的结果组合而成最终的结果.专家系统广泛应用于传统机 ...

  9. Problem C Dist 解题报告

    Problem C Dist Description 有一个\(n\)个点带边权的连通无向图,边集用\(k\)个集合\(s_1,s_2,\dots,s_k\)和\(k\)个整数\(w_1,w_2,\d ...

随机推荐

  1. SE93 创建参数事务

    (1)SE93 输入新的事务码名称,点击创建按钮 (2)输入事务码描述,选择第五项: Transaction with parameters(parameter transaction) (3)在事务 ...

  2. 20155321 《网络攻防》 Exp4 恶意代码分析

    20155321 <网络攻防> Exp4 恶意代码分析 计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat),内容如 ...

  3. cmake源码包安装后的卸载问题

    cmake源码包安装 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程),具体学习请移步官网CMake 本文介绍的就是用cmake去安装的别人的包. 一般流程: ...

  4. 使用Fortify进行代码静态分析(系列文章)

    BUG级别:低 Code Correctness(代码正确性) 1.Class does not Implement Equals(类未能实现Equals方法) Dead Code(死亡代码) 1.U ...

  5. vijos 1641 Vs Snowy

    代码: #include<set> #include<cstdio> #include<cstring> #include<iostream> #inc ...

  6. Hadoop日记Day5---HDFS介绍

    一.HDFS介绍 1.1 背景 随着数据量越来越大,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式 ...

  7. JSON传输数组的基本操作

    目标JSON结果如下: 生成JSON的的过程如下: Document document; Document::AllocatorType& allocator = document.GetAl ...

  8. 在服务器运行一个jar包,不用时终止它

    1.打成jar包后,输入命令 nohup java -jar floodlight.jar >log.txt >& &//nohup 不生成 nohup.out的方法noh ...

  9. html点击链接打开新窗口

    html标记中格式为<a href="url"> text </a> 此时,内容在原来窗口呈现,如果想新开窗口,可以采用下列方式. 1. <a hre ...

  10. 设计模式 笔记 中介者模式 Mediator

    //---------------------------15/04/27---------------------------- //Mediator 中介者模式----对象行为型模式 /* 1:意 ...