摘要:
4028The time of a day题目大意:有个奇怪的钟有n(1 2 #include 3 #include 4 #include 5 typedef long long ll; 6 using namespace std; 7 mapdp[50]; 8 int n; 9 ll m;10 ll gcd(ll a,ll b)11 {12 return b==0?a:gcd(b,a%b);13 }14 ll lcm(ll a,ll b)15 {16 return a/gcd(a,b)*b;17 }18 void init()19 {20 dp[1][1]=1;2... 阅读全文
摘要:
4022Bombing题目大意:给你n个点(二位),坐标范围( >的map x,y表示 横纵有多少个点,每次询问是返回该值就可,然后把对应的另一维的该点删除掉就可以了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 typedef map > m; 8 m x,y; 9 int getans(m &x,m &y,int pos)10 {11 int ans = x[pos].size();12 for(multiset ::iterator i = x[ 阅读全文
摘要:
402124 Puzzle题目意思:给你一个如上图的图,格子从左到右从上到下编号,每个格子上有数字(0~23,0表示空),操作的过程为当一个格子的上下左右有空格子时可以交换两个格子的数字。现在给你两个序列,表示的是对应编号上的数字,问能不能通过若干次操作将第一种序列变为第二个。分析:首先考虑比较特殊的几个位置即最边上的格子,可以它们只能与一个格子交换所以先预处理一下,把能交换的交换,然后判一下两个序列这些位置上的数字是不是都相同,如果不想同那么最终不可以转化。那么剩下的就是4*4的方格了,其中有一个为空,就是15数码了。根据八数码判断能不能完成我们知道与当前状态的逆序数的奇偶有关。可以发现左右 阅读全文
摘要:
4027Can you answer these queries?两种操作:1 x y 把[x y]区间中的数变为原来数值的根号(取整)0 x y 求[x y]区间和分析:线段树 区间更新+区间求和 可增加一个标记表示该位置上的数位1或0 因为1 或0 开根号还是本身不用更新 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define maxlen 100010 7 typedef long long ll; 8 using namespace std; 9 struct node10 {11 int l... 阅读全文