摘要:
1 //这道题让我想起来班主任的名言,你上课耽误1分钟,大家40个人,就耽误了大家40分钟。一样的道理,越靠前的人耽误的人越多,所以让快的人尽量靠前。 2 #include 3 #include 4 using namespace std; 5 struct dat 6 { 7 int id,tim; 8 friend bool operator < (da... 阅读全文
摘要:
1 //于其说是一道贪心题,不如说是一道考察结构体运用的题目。对于重载运算符一定要熟练运用。 我们优先购买便宜的牛奶即可,注意使用min函数节约代码量。 2 #include 3 #include 4 #include 5 using namespace std; 6 int n,m,ans; 7 struct node 8 { 9 int a,b;//牛奶单价和产量... 阅读全文
摘要:
1 //难点在于锁有容错性,左右相邻均可。并且这里题目规定了从1开始,所以不倾向与从0开始。这里写一个函数来单独用来判断相邻的问题,做题时,如果某个部分感到实现困难可以将其拆成不同部分,逐一击破。 2 #include 3 #include 4 using namespace std; 5 int n,res; 6 int pwd[3][4]; 7 bool cls(int ... 阅读全文
摘要:
1 //没什么好说的,要注意的就是一定要边计算边取模,这道题不这么做也不会溢出,但是在NOIP中绝不会这么简单。一定记得随时取模。再一个就是这种输出字符串的,一定要从原文复制粘贴,注意细节。 2 #include 3 #include 4 using namespace std; 5 char s1[10],s2[10]; 6 int main() 7 { 8 ... 阅读全文
摘要:
1 //因为每个桶的上限只有20,最多只有20*20*20个状态,我们用vis[x][y][z]表示一个状态是否被搜索过。然后每次尝试各种转移,发现答案就记录答案。 2 #include 3 #include 4 #include 5 using namespace std; 6 bool ans[30],vis[30][30][30]; 7 int a,b,c; 8 v... 阅读全文
摘要:
1 //打出表可以看到,集合内有大约cnt=120000个数。做法是枚举等差数列前两个数,然后再用一个N去判断序列后面每一位是否存在。复杂度高达cnt^2*n,加了玄学优化可以过,应该不是正解。 2 #include 3 #include 4 #include 5 using namespace std; 6 vector vec; 7 int n,m; 8 int v... 阅读全文