Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1659    Accepted Submission(s): 837 Problem Description There are n lights in a circle numbered from 1 to n. The left of ligh…
Kiki & Little Kiki 2 转载自:点这里 [题目链接]Kiki & Little Kiki 2 [题目类型]矩阵位运算 &题意: 一排灯,开关状态已知,每过一秒:第i个灯会根据刚才左边的那个灯的开关情况变化,如果左边是开的,它就会变化,如果是关的,就保持原来状态.问m秒后的状态. 第1个的左边是最后一个. &题解: 题目给定一个01字符串然后进行m次的变换,变换的规则是:如果当前位置i的左边是1(题目说了是个圆,下标为0的左边是n-1),那么i就要改变状态0…
Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3078    Accepted Submission(s): 1642 Problem Description There are n lights in a circle numbered from 1 to n. The left of lig…
题目:Kiki & Little Kiki 2 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2276 分析: 1)如果前一盏灯亮着,则改变这一盏灯的状态.灯用0和1表示亮和不亮. 2)0和0=0,0和1=1,1和0=1,1和1=0:这是异或,或者说 (左边的状态+原来的状态)%2=现在的状态,或者表示为(左边的状态+原来的状态)&1=现在的状态. 3)构造矩阵,快速幂优化.$T = \left[ \begin{array}{cccccc} 1…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2275 题目意思: 有两种操作: 1.push a 把a放进数组里. 2.pop a 输出不超过a的最大的数,并去掉. 解题思路: 用multiset可以过. 对于操作二先判断容器里面有没有该数,有的话直接输出.没有的话,把a放进容器里,然后查a的位置,-- 得到上一个的位置,最后删除两个迭代器. 代码: #include<iostream> #include<cmath> #incl…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2275 这个题比较简单,所以就没有测试样例提供给大家,基本把题目的样例过了就可以了 题目大意 给你一串操作,“Push  x”为添加元素x : “Pop  x”为:在集合中找到一个不大于x的最大数,输出并删除,没有的话,输出“No Element!” 最后留一个空行 存储结构 multiset,一种允许有重复元素的set 思路 用set自带的upper_bound()函数找到大于x的位置,输出其前一个位置…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2275 题意:n个操作 Push 入容器 Pop弹出一个 满足<=该数的最大的数(若没有输出No Element!) 用两个堆模拟. #include<functional> #include<algorithm> #include<iostream> #include<string> #include<cstdlib> #include<…
http://acm.hdu.edu.cn/showproblem.php?pid=3579 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4208    Accepted Submission(s): 1617 Problem Description One day I was shopping in the supermarket.…
题意:Kiki 有 X 个硬币,已知 N 组这样的信息:X%x=Ai , X/x=Mi (x未知).问满足这些条件的最小的硬币数,也就是最小的正整数 X. 解法:转化一下题意就是 拓展欧几里德求解同余方程组了.我们可以得到 N 个方程:Mi*x+Ai=X.一些解释请看下面的代码. 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream> 5 using na…
题意:n个操作 Push 入容器 Pop弹出一个 满足<=该数的最大的数(若没有输出No Element!) 开始用set打了一遍wrong了,这里入容器的数是有重复的,所以用multiset #include<stdio.h> #include<set> using namespace std; multiset<int>ss; multiset<int>::iterator p,q; int main(){ int n,t; char c[5];…