因为年历是400年一个循环节的,所以递推出一年的情况,然后递推处理出一个循环节的情况。对于询问,求一个类似前缀和的东西就好了。

跑出来和比样例小一,把A和B加一以后交后AC...

写得时候注意变量的定义。。。不然WA到哭。。。我是以6代表星期5的,1900年是第一年,所以B,A减去1900之前要加一。

#include<cstdio>
#include<cstring> bool isLeapYear(int y)
{
if(y%){
return !(y&);
}
else {
return !(y%);
}
}
// 1 3 5 7 8 10 12
int days[] = {-,,,,,,,,,,,,};
//6 7 1 2 3 4 5
int cnt1[];//1~2月
int cnt2[];//2月以后
int cnt[]; //
void firstYear()
{
int v = ;
for(int m = ; m <= ; m++) {
cnt1[v]++;
v = (v+days[m])%;
}
for(int m = ; m <= ; m++) {
cnt2[v]++;
v = (v+days[m])%;
}
for(int i = ; i < ; i++) {
cnt[i] = cnt1[i]+cnt2[i];
}
} int cnt400[][];
int cntCur[]; void circle()
{
firstYear();
int mov = ;
int i = ;//
for(int y = ; y < ; y++,i++){//1,1 +mov1 1,2 2->last 1
memset(cntCur,,sizeof(cntCur));
if(isLeapYear(y)) {
for(int i = ; i < ; i++)//2月以前不受影响
cntCur[i] += cnt1[(i-mov+)%];
mov = (mov + )%;//相对上一年
for(int i = ; i < ; i++)
cntCur[i] += cnt2[(i-mov+)%]; }
else {
for(int i = ; i < ; i++)
cntCur[i] += cnt[(i-mov+)%];
}
mov = (mov + )%;//365%7 =1
for(int j = ; j < ; j++){
cnt400[i][j] = cnt400[i-][j];
}
cnt400[i][cntCur[]]++;
}
} int ans[];
//#define local
int main()
{
#ifdef local
freopen("data.txt","w",stdout);
#endif // local
int A,B;
circle();
scanf("%d%d",&A,&B);
B++;A++;
int a = (A--)%;
int na = (A--)/;
int b = (B-)%;
int nb = (B-)/;
for(int i = ; i < ; i++){
ans[i] += (nb-na)*cnt400[][i] + cnt400[b][i] - cnt400[a][i];
}
for(int i = ; i < ; i++)
printf("%d: %d\n",i,ans[i]); return ;
}

URAL 2048 Histroy(打表+模拟)的更多相关文章

  1. Oracle本地网络分表模拟分区裁剪

    来自讨论贴 http://www.itpub.net/thread-1877111-1-1.html 准备数据表 2014-07-20 01:38:10>create table tb_1 as ...

  2. URAL 2047 Maths 打表 递推

    MathsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action? ...

  3. 2018.09.25 codeforces1053E. Euler tour(并查集+st表+模拟)

    传送门 毒瘤细节题. 首先考虑不合法的情况. 先把相同的值配对,这样就构成了一些区间. 那么如果这些区间有相交的话,就不合法了. 如何判断?DZYO安利了一波st表,我觉得很不错. 接着考虑两个相同的 ...

  4. 【洛谷】【st表+模拟】P1311 选择客栈

    [题目描述:] 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖 ...

  5. URAL 1069 Prufer Code(模拟)

    Prufer Code Time limit: 0.25 secondMemory limit: 8 MB A tree (i.e. a connected graph without cycles) ...

  6. URAL(timus) 1280 Topological Sorting(模拟)

    Topological Sorting Time limit: 1.0 secondMemory limit: 64 MB Michael wants to win the world champio ...

  7. URAL 2048 History 蔡勒公式

     HistoryTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.acti ...

  8. 【Difference Between Primes HDU - 4715】【素数筛法打表+模拟】

    这道题很坑,注意在G++下提交,否则会WA,还有就是a或b中较大的那个数的范围.. #include<iostream> #include<cstdio> #include&l ...

  9. oracle 表迁移方法 (一)

    在生产系统中,因业务需求,56张表中清空54张表数据,另外两张表数据保留,数据量大约10G左右:1.大部分人想法就是expdp/impdp,的确是这样,哈哈 2.rman 3.以下方法,move 虚拟 ...

随机推荐

  1. Flutter实战视频-移动电商-34.列表页_小BUG的修复

    34.列表页_小BUG的修复 当高粱酒的子类没有数据返回的时候就会报错. 解决接口空数据报错的问题 没有数据的时候,给用户一个友好的提示, 我们没有数据的时候还要告诉用户,提示一下他没有数据,在我们的 ...

  2. studio 集成 Genymotion后打开模拟器出错、打开虚拟机VirtualBox出错

    好吧,首先给出错误类型如下: “Unable to load R3 module D:\Program Files\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastErr ...

  3. Mac下Vim编辑快捷键小结

    一.移动光标 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首"{",移动到 ...

  4. 玩转phpstorm之terminal

    启动快捷键  Alt+F12 启动之后,像这样 第一次进入这个配置默认显示的是cmd窗口,现在我们将其换成git 命令行窗口,毕竟git才是boss first 将cmd换成我们是先在电脑上安装完成的 ...

  5. [Xcode 实际操作]九、实用进阶-(1)隐藏顶部的状态栏

    目录:[Swift]Xcode实际操作 本文将演示隐藏顶部的状态栏. 在项目导航区,打开项目配置文件[Info.plist] 每个程序都拥有自己的项目配置文件,用来存储各种配置信息. 鼠标右键[Add ...

  6. Mol Cell Proteomics. |阳梦如|富马酸二甲酯在神经元和星形胶质细胞中新蛋白质靶点的鉴定及相关功能验证

    大家好,本周分享的是发表在Molecular & Cellular Proteomics.上的一篇关于富马酸二甲酯在脑细胞蛋白质中新作用靶点的鉴定及功能性验证的文章,题目是Identifica ...

  7. 【Luogu P1502】 窗口的星星

    →传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小 ...

  8. C 语言实例 - 矩阵转换

    C 语言实例 - 矩阵转换 C 语言实例 C 语言实例 矩阵转换. 实例 #include <stdio.h> int main() { ][], transpose[][], r, c, ...

  9. hadoop HA集群搭建(亲测)

    1.hadoop-env.sh 2.core-site.xml <configuration> <!-- 指定hdfs的nameservice为ns1 --> <prop ...

  10. [題解](貪心/堆)luogu_P2107小Z的AK計劃

    清明講過一道類似的,難度略大的:P3545 [POI2012]HUR-Warehouse Store 兩道題類似,都是暫時先把前面的加進候選集合里,如果超出限制的話就拿現在這個和前面的交換, 相當於不 ...