Codeforces Round #183 (Div. 2) <全>

五步通关!宝塔Linux部署ASP.NET Core的魔法秘籍大公开! 摘要: 本文提供ASP.NET Core应用五步部署攻略,涵盖从环境配置到线上运行的完整流程: 1️⃣ 环境准备:安装宝塔面板、ASP.NET Core运行时及开放端口; 2️⃣ 应用发布:通过dotnet publish生成独立部署包并上传服务器; 3️⃣ Nginx配置:设置反向代理将域名请求转发至应用端口; 4️⃣ 进程守护:使用Supervisor确保应用持续运行; 5️⃣ HTTPS加密:通过宝塔快速申请SSL证书并解决验证路径冲突。 关键点: 强调权限设置(755)、端口开放及反向代理细节; 提 阅读详情

A. Pythagorean Theorem II

题目链接:

http://codeforces.com/contest/304/problem/A

题目意思:

求出满足1<=a<=b<=c<=n,且a^2+b^2=c^2,的a,b,c的个数,其中n<=10^4.

解题思路:

如果用0(n^3)的话肯定超时(我就是轻估了题目,然后被hack掉了。。。),枚举a,b,然后求出c,是否在1-n的范围内。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-10
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;



int main()
{
   int a,b,c,n;
   __int64 num;

   while(scanf("%d",&n)!=EOF)
   {
      num=0;
      for(a=1;a<=n;a++)
         for(b=a;b<=n;b++)
         {
            double c=a*a+b*b;
            if(c>n*n)
               continue;

            c=fabs(sqrt(c*1.0)-(int)(sqrt(c*1.0)+.5)); //注意四舍五入的处理
            if(c<=eps)
               num++;
         }
      printf("%I64d\n",num);
   }
   return 0;
}

B. Calendar

题目链接:

http://codeforces.com/contest/304/problem/B

题目意思:

给出两个日期,求出两个日期之间的天数,天数包括第一个日期,不包括最后一个日期。

解题思路:

模拟题,就分段处理,注意当前一个日期比后一个日期大的话,要交换下。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

int days[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,
   0,31,29,31,30,31,30,31,31,30,31,30,31};
//days[0][i],表示平年的第i月的天数,days[1][i]表示闰年的第i月天数
int num[2]={365,366}; //num[0]表示平年的天数,num[1]表示闰年的天数

int isleap(int year) //判断是否是闰年
{
   if((year%4==0&&year%100)||year%400==0)
      return 1;
   return 0;
}
int y11,m1,d1,y2,m2,d2;

bool Change() //是否要交换
{
   if(y11<y2)
      return true;
   else if(y11>y2)
      return false;
   if(m1<m2)
      return true;
   else if(m1>m2)
      return false;
   if(d1<d2)
      return true;
   else if(d1>d2)
      return false;

}
int main()
{

   while(scanf("%4d:%2d:%2d",&y11,&m1,&d1)!=EOF)
   {
      scanf("%4d:%2d:%2d",&y2,&m2,&d2);

      if(Change()==false) //前一个日期在后一个日期的后面,交换
      {
         swap(y11,y2);
         swap(m1,m2);
         swap(d1,d2);
      }
      //printf("%d %d %d\n%d %d %d\n",y11,m1,d1,y2,m2,d2);
      int ans=0;
      if(y11==y2) //在同一年
      {
         int leap=isleap(y11);
         if(m1==m2)
            ans=d2-d1+1;
         else
         {
            ans+=days[leap][m1]-d1+1;
            for(int i=m1+1;i<m2;i++)
               ans+=days[leap][i];
            ans+=d2;
         }
      }
      else
      {

         int leap1=isleap(y11);
         ans+=days[leap1][m1]-d1+1;

         for(int i=m1+1;i<=12;i++) //这一年中间的几个月
            ans+=days[leap1][i];
         for(int i=y11+1;i<y2;i++) //中间的几年
            ans+=num[isleap(i)];

         int leap2=isleap(y2); //后一日期的该年的天数
         for(int i=1;i<m2;i++)
            ans+=days[leap2][i];
         ans+=d2;
      }
      printf("%d\n",ans-1);
   }
   return 0;
}

C. Lucky Permutation Triple

题目链接:

http://codeforces.com/contest/304/problem/C

题目意思:

求三个大小为n的数组,他们的元素为0——n-1,同一数组中各元素都不相同,如果能够找到(a[i]+b[i]=c[i]%n,则输出其中的任意一个,否则输出-1.

解题思路:

当n为偶数的时候,不能凑出。

当n为奇数的时候,可以通过移一位凑出。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

int a[120000],b[120000],c[120000];
int main()
{
   int n;

   while(scanf("%d",&n)!=EOF)
   {
      if(n&1)
      {
         for(int i=0;i<n;i++)
         {
            a[i]=i;
            b[i]=(i+1)%n;
            c[i]=(a[i]+b[i])%n;
         }
         printf("%d",a[0]);
         for(int i=1;i<n;i++)
            printf(" %d",a[i]);
         putchar('\n');

         printf("%d",b[0]);
         for(int i=1;i<n;i++)
            printf(" %d",b[i]);
         putchar('\n');

          printf("%d",c[0]);
         for(int i=1;i<n;i++)
            printf(" %d",c[i]);
         putchar('\n');
      }
      else
         printf("-1\n");
   }
   return 0;
}


D. Rectangle Puzzle II

题目链接:

http://codeforces.com/contest/304/problem/D

解题思路:

就是先求(a,b)的最大公约数,然后分别除掉,求出在(n,m)范围的最大的长度和宽度,容易证明,对任意的(x,y),一定可以包含,所以以(x,y)为中心,以长度和宽度的一半为距离(当为奇数的时候,向左和下倾斜),做矩形,然后分别判断,上下左右,在不在(n,m)内,如果下不在,则往上移,一直到下为0,依次搞定其他个方向。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

int n,m,x,y,a,b;

int gcd(int aa,int bb)
{
   if(aa%bb==0)
      return bb;
   return gcd(bb,aa%bb);
}
int main()
{
   int anle,anri,anup,ando;
   while(scanf("%d%d%d%d%d%d",&n,&m,&x,&y,&a,&b)!=EOF)
   {
      int temp=gcd(a,b);
      a=a/temp,b=b/temp;

      int len,wid;
      if(n/a>m/b) //求出最大的长和宽
      {
         len=m/b*a;
         wid=m/b*b;
      }
      else
      {
         len=n/a*a;
         wid=n/a*b;
      }
      //以(x,y)为中心,最大长度和宽度建立矩形,奇数的话向下和向左倾斜
      anle=x-(len-len/2),anri=x+len/2;
      anup=y+wid/2,ando=y-(wid-wid/2);

      //一次判定各个方向是否超出了界限,超了话,朝相反的方向移动
      if(anri>n)
      {
         anle-=anri-n;
         anri-=anri-n;
      }
      if(anle<0)
      {
         anri+=-anle;
         anle=0;
      }
      if(anup>m)
      {
         ando-=anup-m;
         anup-=anup-m;
      }
      if(ando<0)
      {
         anup+=-ando;
         ando=0;
      }
      printf("%d %d %d %d\n",anle,ando,anri,anup);


   }

   return 0;
}


E. Minimum Modular

题目链接:

http://codeforces.com/contest/304/problem/E

题目意思:

有n个不同的数,求一个最小的m,使得移除k个数后,剩下的任意两个数对m求余余数不一样。

解题思路:

先预处理一下,求出任意两个数的差的个数。然后从前至后扫描,求出同余关系的总个数。

很关键的一点:与一个数同余的所有数之间也是同余关系的。

移除K个,最多可以解除(k+1)*k/2种同余关系。(这K+1个数互相之间有联系)

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

int c[1200000],save[5500];
bool flag[1200000];

int main()
{
   int n,k;

   while(scanf("%d%d",&n,&k)!=EOF)
   {
      for(int i=1;i<=n;i++)
         scanf("%d",&save[i]);

      sort(save+1,save+n+1);
      memset(c,0,sizeof(c));
      for(int i=1;i<=n;i++)
         for(int j=i+1;j<=n;j++)
            c[save[j]-save[i]]++;
            //save[j]>save[i]?c[save[j]-save[i]]++:c[save[i]-save[j]]++;
      int K=k*(k+1)/2;
      for(int i=1;i<=save[n]+1;i++)
      {
         int temp=0;

         for(int j=i;j<=save[n]+1;j+=i) //找出所有的同余关系总数
         {
             temp+=c[j];
            if(temp>K)
               break;
         }
         if(temp<=K) //如果K可以解除这么多的关系,看看能否满足
         {
            int cnt=0;
            memset(flag,0,sizeof(flag));
            for(int j=1;j<=n;j++)
            {
               int tt=save[j]%i;
               if(flag[tt])
               {
                  cnt++;
                  if(cnt>k)
                     break;
               }
               flag[tt]=1;
            }
            if(cnt<=k)
            {
               printf("%d\n",i);
               break;
            }
         }
      }
   }
   return 0;
}




YOLOv8改进,YOLOv8添加可变性卷积DCNv2 DCNv2对原始的DCNv1进行了改进,可变形卷积网络的卓越性能源于其适应对象几何变化的能力。通过对其自适应行为的检查,虽然对其神经特征的空间支持比常规的ConvNets更接近于对象结构,但这种支持可能远远超出感兴趣区域,导致特征受到不相关图像内容的影响。为了解决这个问题,我们提出了一种可变形卷积网的重新表述,通过提高建模能力和更强的训练,提高了其专注于相关图像区域的能力。通过更全面地集成网络中的可变形卷积,并引入扩展变形建模范围的调制机制,增强了建模能力。 阅读详情

相关推荐

个人信息保护合规审计人员(中级)能力测试试卷

本文是关于个人信息保护合规审计的考试指南,包含选择题、判断题、简答题和案例分析题。选择题考察《个人信息保护法》的关键条款,如敏感信息处理、跨境传输、委托处理等合规要求。判断题测试对个人信息处理规则的理解,如撤回同意、公开信息处理等。简答题要求阐述审计流程、个人权利、委托处理义务等内容。案例分析题以互联网企业为例,分析违规行为并提出整改建议,涉及数据收集、第三方共享、自动化决策等问题。全文旨在帮助中级审计人员掌握个人信息保护的法律规定和审计实务,提升合规审计能力。

qq_41525079的博客 547

Codeforces 183 div1

好久没在正式的比赛中做div1了……感觉还好吧。 Problem A 第一题不解释,如果n为偶数肯定-1了,n为奇数好像有好多好多种搞法。 #include #include #include using namespace std; int main() { int i,j,n; scanf("%d",&n); if (n%2==0) {

喵呜的Blog 1759

保姆级教程:手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动

本文提供了一份详细的保姆级教程,手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动。从基础配置到RGMII接口的特殊设置,再到驱动开发的关键步骤和调试技巧,帮助开发者快速掌握PHY芯片的移植与开发。

weixin_33734785的博客 333

183div2

题解: Math, Constructive algorithms, Congruent when n is odd, A[i] = B[i] = i when n is even, there is no solution. So why? Because: S = Sum_{i=0}^{n-1} i = n/2 (mod n) but 2*S = 0 (mod n) If , t

好久不见 1114

Score Matching实战:如何用Python实现数据分布梯度估计(附完整代码)

本文详细介绍了Score Matching技术在数据分布梯度估计中的应用,通过Python实现从基础概念到核心算法的完整流程。文章包含环境准备、网络架构设计、加噪版本实现以及训练流程,帮助开发者快速掌握这一绕过密度估计直接学习得分函数的创新方法。附带的完整代码和可视化分析使理论与实践紧密结合。

weixin_29168813的博客 372

保姆级教程:在Windows/Mac上从零部署清华Kronos股票预测模型(含Qlib数据更新避坑指南)

本文提供了一份详细的指南,帮助用户在Windows和Mac系统上从零部署清华Kronos股票预测模型,包括环境配置、模型权重获取、Qlib数据更新避坑等关键步骤。特别针对国内用户遇到的网络问题和数据更新不及时提供了解决方案,适合量化投资和金融科技爱好者快速上手。

weixin_29053577的博客 623

Codeforces Round #183 (Div. 2) 勾股数 + 时间差+数学

A: 给出a,b,c a&lt;= b&lt;=c &lt;=n 求满足a^2 + b^2 = c^2 的个数。 直接暴力枚举过的。。 来个优化的 假设直角三角形三边为a,b,c;  则a = 2*m*n, b = m*m - n*n, c =m*m + n*n; 这样我们只要枚举m,然后再枚举n,   就好了 int gcd(int a,int b) { if(a%...

weixin_33963189的博客 149

ECU-TEST新手入门:从软件申请到第一个测试包创建的完整保姆级流程

本文详细介绍了ECU-TEST软件从申请试用、安装配置到创建第一个测试包的完整流程。针对新手用户,提供分步指导,包括界面认知、测试组件添加、变量定义及执行结果分析,帮助快速掌握汽车电子测试工具的基本操作。特别说明试用授权的两种获取方式和安装注意事项。

weixin_30606461的博客 481

Codeforces Round #183 (Div. 1) C. Minimum Modular

题目链接:http://codeforces.com/contest/303/problem/C 题意:给n个数a[i], 在最多去除 k 个数的情况下,找出最小的 m ,使得 ,即n个数中任意两个数 膜m 不相等 算法:暴力+剪枝 思路: 可转化为 a[i]-a[j] != *m,其中k为任意正整数。 - 记录下所有a[i]-a[j] 差值的出现次数,将 a[i]-a[j]==k...

凝望的博客 322

亿图机床采集数据

这个数控系统的英文名是HUST,在台湾知名度还可以,但大陆这边我做这么多年项目也只接触过屈指可数的几次,可见市场占有率并不大,联网采集不复杂。

若云流风的专栏 2492

【深度学习驱动流体力学】Python流体力学Ansys Fluent

PyFluent 是一个将 Python 编程语言与 Ansys Fluent 流体动力学 (CFD) 仿真软件集成的工具。它允许用户通过 Python 脚本来控制和自动化 Fluent 中的仿真任务,实现从预处理、求解到后处理的全流程控制。PyFluent 结合了 Python 的灵活性和 Fluent 的强大功能,提供了一种高效且灵活的 CFD 仿真方法。PyFluent 是一个强大而灵活的工具,使用户能够通过 Python 脚本全面利用 Ansys Fluent 的功能。

源代码杀手的博客 3123

Problem F Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II

A. Pythagorean Theorem II time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output In mathematics, the Pythagorean t

To be what you what to be! 1790

将Windbg附加到软件进程上排查异常闪退的问题

使用Windbg和Process Explorer排查因为内存泄漏导致的软件异常闪退问题。

dvlinker的技术专栏 1万+

Educational Codeforces Round 183 (Rated for Div. 2)题解(A~C)

本文介绍了Codeforces Div.2的三道题目解法:A题通过模3运算计算最少需要购买的糖果数,使糖果能均分给3个侄子;B题通过统计操作类型数量,确定每张牌在牌堆中的状态;C题利用前缀和与哈希表,寻找使剩余字符串中a和b数量相等的最小子串删除长度。三道题目分别考察了模运算、区间统计和前缀和优化等算法技巧,适合提升基础编程能力。

2402_89341493的博客 1075

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Educational Codeforces Round 183 (Rated for Div. 2)

正确思路:其实也就是跟滑动窗口的ca - cb = ct的核心原理是一样的,对于位置 i 我们可以发现他的cai - cbi = cti ,那么我们只需要找到他前面位置 j 满足caj - cbj = cti - ct的最大位置可以了,这里可以简单画图表示一下(自己演草),接下来使用map记录每个ca - cb的最大位置,然后去查找更新答案就可以了。通过题意基本就可以知道这题怎么去做了,对于012中的01直接进行操作,将前面和后面的‘+’变成‘-’,最后单独对2做操作,每个2都会使得前后的‘+’变成‘?

2301_79609200的博客 951

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Educational Codeforces Round 183 (Rated for Div. 2) 补题

C D

头顶尖尖的博客 631

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Educational Codeforces Round 183

Educational Codeforces Round 183 DE题

QLeh_的博客 727

Educational Codeforces Round 183 (Rated for Div. 2)(A-E)

有事没打来补题

Vcoistnt的博客 504

Codeforces Round 1019 div2 个人题解(2103D)

读取题意后可知,在删除数字前,剩下的数字如果次序为奇数,一定会小于相邻的数字;因此,我们可以倒着模拟删除的操作,从最后一次操作开始向对更高层和当前层的关系进行建边,每建完一层的边就将这两层进行合并。写完之后发现,过不去样例一,因此进行打表,打表发现,由于边界的特殊性,同层之间存在根据次序奇偶性进行改变的大小关系,因此,还需要对同层之间进行建边。更具体地说,操作 1 在每次奇数迭代中执行,操作 2 在每次偶数迭代中执行,直到。建边关系为小向大,这样,得到的图的拓扑序即为题目索取排列。

Lazy_ChessPlayer的博客 1011

暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II

题目传送门 1 /* 2 暴力:O (n^2) 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <cstring> 7 #include <cmath> 8 #include <vector> 9 usin...

weixin_30668887的博客 93

Codeforces Round #822 (Div. 2)

Codeforces Round #822 (Div. 2)

AC__dream的博客 1272

Codeforces Round #183 (Div. 2) B. Calendar

题目:http://codeforces.com/contest/304/problem/B#include <iostream> #include <stdio.h> #include <string> #include <string.h> #include <algorithm> #include <m...

80

Codeforces Round #175 (Div. 2) && #183 (Div. 2)

题目:Codeforces Round #175 (Div. 2) A Slightly Decreasing Permutations 求 : n的全排列,满足有k组相邻的数字满足p(i)>p(i+1) 思路:先逆序输出最后k个数字,然后正序输出剩下的,这种情况满足。 #include #include #include #include #include using na

shiyuan的专栏 1002

Problem G B. Calendar Codeforces Round #183 (Div. 2)

B. Calendar time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Calendars in widespread use today include the G

To be what you what to be! 1479

Educational Codeforces Round 183 A - Candies for Nephews

题意:Monocarp想给三个侄儿分糖果,手里有n个,请问还需要买几个?这样才能使得每个侄儿得到的糖果一样多。换做数学公式就是,糖果的总数量 可以整除3,或者说除以3没有余数。就是(手里的+要买的)整除3,需要知道要买的数量最小值是多少?有时候可能比赛没有想象那么难,参与也很重要!大家可以直接登录(先需要注册),做这道题。非常简单,可惜昨晚没来及参加这个比赛。今天做了三道题,虽然另外两道不是全对。

593

Codeforces Round #797 (Div. 3)

Codeforces Round #797 (Div. 3)

AC__dream的博客 609
上一篇: 线段树(端点更新) hdu-4521 小明系列问题——小明序列
下一篇: 最短路 hdu-4522 湫湫系列故事——过年回家
Accagain
博客等级 码龄14年 376粉丝 316原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值