【OJ比赛日历】快周末了,不来一场比赛吗? #03.23-03.29 #16场

本文汇总了2024年3月期间的多平台编程比赛信息,包括Kaggle、LeetCode、牛客等,涵盖了IOI和ACM赛制,提供比赛开始时间及链接,便于参赛者跟踪和准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注!


以下信息仅供参考,以比赛官网为准

目录

2024-03-23(周六) #7场比赛

MoQ Round 1
🖥 洛谷 · ⚖️ IOI赛制
🥳 08:30开始 · ⏳ 时长4h 30min
#团队公开赛
https://www.luogu.com.cn/contest/161374


广州大学第十八届ACM大学生程序设计竞赛(同步赛)
🖥 牛客(Nowcoder) · ⚖️ ACM赛制
🥳 13:00开始 · ⏳ 时长5h
#高校校赛
https://ac.nowcoder.com/acm/contest/77448


【LGR-180-Div.3】洛谷基础赛 #9 & SFOI Round 1
🖥 洛谷 · ⚖️ IOI赛制
🥳 14:00开始 · ⏳ 时长4h
#Rated #官方比赛
https://www.luogu.com.cn/contest/159722


第 148 场周赛
🖥 AcWing · ⚖️ ACM赛制
🥳 19:00开始 · ⏳ 时长1h 15min
https://www.acwing.com/activity/content/3833/


第8场强者挑战赛
🖥 蓝桥 · ⚖️ ACM赛制
🥳 19:00开始 · ⏳ 时长2h
https://www.lanqiao.cn/oj-contest/senior-8/


第8场小白入门赛
🖥 蓝桥 · ⚖️ ACM赛制
🥳 19:00开始 · ⏳ 时长2h
https://www.lanqiao.cn/oj-contest/newbie-8/


UNIQUE VISION Programming Contest 2024 Spring(AtCoder Beginner Contest 346)
🖥 AtCoder · ⚖️ ACM赛制
🥳 20:00开始 · ⏳ 时长1h 40min
https://atcoder.jp/contests/abc346


2024-03-24(周日) #6场比赛

第 390 场周赛
🖥 Leetcode · ⚖️ ACM赛制
🥳 10:30开始 · ⏳ 时长1h 30min
https://leetcode.cn/contest/weekly-contest-390


四川农业大学新生选拔赛
🖥 牛客(Nowcoder) · ⚖️ ACM赛制
🥳 13:00开始 · ⏳ 时长5h
#高校校赛
https://ac.nowcoder.com/acm/contest/77922


lzqy_ の Strings Round
🖥 洛谷 · ⚖️ IOI赛制
🥳 13:30开始 · ⏳ 时长5h
#个人公开赛
https://www.luogu.com.cn/contest/155684


European Championship 2024 - Online Mirror (Unrated, ICPC Rules, Teams Preferred)
🖥 Codeforces · ⚖️ ACM赛制
🥳 18:00开始 · ⏳ 时长5h
https://codeforces.com/contestRegistration/1949


牛客周赛 Round 38
🖥 牛客(Nowcoder) · ⚖️ IOI赛制
🥳 19:00开始 · ⏳ 时长2h
#牛客系列赛
https://ac.nowcoder.com/acm/contest/78292


AtCoder Regular Contest 175
🖥 AtCoder · ⚖️ ACM赛制
🥳 20:00开始 · ⏳ 时长2h
https://atcoder.jp/contests/arc175


2024-03-25(周一) #无比赛

2024-03-26(周二) #无比赛

2024-03-27(周三) #1场比赛

Starters 127
🖥 Codechef · ⚖️ IOI赛制
🥳 22:30开始 · ⏳ 时长2h
https://www.codechef.com/START127


2024-03-28(周四) #无比赛

2024-03-29(周五) #2场比赛

【LGR-(-22)】2024 年洛谷愚人节比赛
🖥 洛谷 · ⚖️ IOI赛制
🥳 18:00开始 · ⏳ 时长0.0min
#官方比赛
https://www.luogu.com.cn/contest/160720


牛客练习赛123
🖥 牛客(Nowcoder) · ⚖️ ACM赛制
🥳 19:00开始 · ⏳ 时长2h 30min
#牛客系列赛 #牛客练习赛
https://ac.nowcoder.com/acm/contest/76790


参考资料

[1] 

CompHub: https://comphub.notion.site/CompHub-c353e310c8f84846ace87a13221637e8

<think>我们正在部署一个OJ(在线判题系统)网站,并且用户希望使用在dnsexit.com申请的域名来指向这个OJ网站。根据引用[1]和引用[5],dnsexit是一个提供动态域名解析服务的平台,允许用户将动态IP地址映射到一个固定的域名。在部署OJ网站时,我们通常需要一个固定的域名以便用户访问。步骤概述:1.在dnsexit.com注册账号并申请一个域名(假设为oj.yourdomain.dnsexit.com)。2.在云服务器上部署OJ网站(如SYZOJ),并确保网站可以通过服务器的IP地址访问(例如http://服务器IP:3000)。3.在dnsexit上设置域名解析,将域名指向云服务器的公网IP地址。4.配置OJ网站的反向代理(如Nginx),以便通过域名访问(可选,但推荐,因为可以隐藏端口并支持HTTPS)。5.配置动态DNS更新脚本(如果服务器公网IP是动态分配的),确保域名始终指向最新的IP。详细步骤:一、在dnsexit.com申请域名1.访问dnsexit.com,注册一个账号(引用[1])。2.登录后,在控制面板中申请一个免费域名(根据引用[2],dnsexit提供免费二级域名)或者使用自己的域名(如果支持)。3.记录下你的域名(例如:oj.yourdomain.dnsexit.com)。二、部署OJ网站(以SYZOJ为例)按照之前提供的部署步骤在云服务器上安装和配置SYZOJ,确保它运行在服务器的某个端口(如3000)上,并且可以通过服务器的公网IP和端口访问。三、设置域名解析1.登录dnsexit控制面板,找到域名管理页面。2.添加一条A记录,将主机记录(如www或@)指向你的云服务器的公网IP地址。-例如:将oj.yourdomain.dnsexit.com指向你的服务器IP。3.保存设置,等待DNS生效(通常几分钟到几小时)。四、配置反向代理(Nginx)为了让用户通过域名(而不需要输入端口号)访问OJ网站,我们配置Nginx反向代理:1.安装Nginx(如果尚未安装):```bashsudoapt installnginx```2.创建Nginx配置文件(如/etc/nginx/sites-available/syzoj):```nginxserver {listen80;server_nameoj.yourdomain.dnsexit.com;#替换为你的dnsexit域名location /{proxy_passhttp://localhost:3000;#假设SYZOJ运行在3000端口proxy_set_headerHost $host;proxy_set_headerX-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}```3.启用配置并重启Nginx:```bashsudo ln-s/etc/nginx/sites-available/syzoj/etc/nginx/sites-enabled/sudonginx-tsudo systemctl restartnginx```五、动态DNS更新(如果服务器IP是动态分配的)如果云服务器的公网IP是动态分配的(比如家庭宽带),那么IP可能会变化,需要定期更新dnsexit上的解析记录。引用[5]提供了一个脚本示例,我们可以参考编写一个类似的脚本:1.在dnsexit控制面板获取API密钥(引用[5]中使用了API_KEY)。2.编写一个脚本(如update_dns.sh),定期检测公网IP的变化,并调用dnsexit的API更新域名解析。示例脚本(根据引用[5]修改):```bash#!/bin/bashAPI_KEY="your_dnsexit_api_key"#替换为你的dnsexitAPI密钥DOMAIN="oj.yourdomain.dnsexit.com"#替换为你的域名CURRENT_IP=$(curl -s http://ipinfo.io/ip)#获取当前公网IP#保存上一次IP的文件IP_FILE="/path/to/previous_ip.txt"if [! -e "$IP_FILE" ];thentouch"$IP_FILE" fiPREVIOUS_IP=$(cat"$IP_FILE")if ["$CURRENT_IP"!= "$PREVIOUS_IP"]; then#调用dnsexitAPI更新域名解析curl"https://api.dnsexit.com/dns/ud/?apikey=${API_KEY}"-d"host=${DOMAIN}"-d"ip=${CURRENT_IP}"#保存新的IPecho "$CURRENT_IP" >"$IP_FILE"fi```3.设置定时任务(如每10分钟运行一次):```bashcrontab -e```添加一行:```cron*/10 ** ** /bin/bash/path/to/update_dns.sh```六、测试1.等待DNS解析生效后,访问http://oj.yourdomain.dnsexit.com,应该可以看到OJ网站。2.如果配置了HTTPS(使用Let&#39;s Encrypt),则可以通过https访问。注意:如果云服务器有防火墙(安全组),请确保开放80和443端口。通过以上步骤,我们就将dnsexit.com申请的域名成功用于部署OJ网站。相关问题:1.如何获取dnsexit的API密钥?2.如何为dnsexit域名配置HTTPS?3.如果使用自己的域名(非dnsexit提供的二级域名),如何设置?4.动态DNS更新失败的可能原因有哪些?5.如何测试域名解析是否生效?</think>### 如何将dnsexit.com申请的域名用于OJ网站部署 在dnsexit.com申请的域名完全可以用于OJ网站部署,以下是详细操作步骤: #### 一、域名申请与配置(在dnsexit平台) 1. **注册账号**: - 访问 [dnsexit.com](https://www.dnsexit.com/) 注册账号 - 完成邮箱验证流程[^1][^2] 2. **申请免费域名**: - 在控制台选择"Add Domain" → "Free Domain" - 输入想要的二级域名前缀(如 `myoj`) - 选择免费域名后缀(如 `.publicvm.com`)[^2] - 确认后获得完整域名(如 `myoj.publicvm.com`) 3. **获取API密钥**: - 在账户设置 → Security → API Keys - 生成新的API密钥并保存备用[^5] #### 二、服务器端配置(需root权限) 1. **安装动态DNS更新工具**: ```bash sudo apt install ddclient -y ``` 2. **配置ddclient**: ```bash sudo nano /etc/ddclient.conf ``` 写入以下内容(替换实际参数): ```conf # dnsexit动态DNS配置 protocol=dnsexit server=api.dnsexit.com login=your_domain_name # 如 myoj.publicvm.com password=your_api_key # 步骤1.3获取的密钥 use=web web=&#39;http://ipinfo.io/ip&#39; ``` 3. **启动服务**: ```bash sudo systemctl enable ddclient sudo systemctl start ddclient ``` #### 三、OJ网站绑定(以SYZOJ为例) 1. **修改Nginx配置**: ```bash sudo nano /etc/nginx/sites-available/syzoj ``` 更新server_name: ```nginx server { listen 80; server_name myoj.publicvm.com; # 替换为dnsexit申请的域名 # ...其他配置保持不变... } ``` 2. **重载Nginx**: ```bash sudo nginx -t && sudo systemctl reload nginx ``` #### 四、动态IP更新保障(关键步骤) 1. **创建IP检测脚本**: ```bash nano ~/dns_update.sh ``` 写入脚本内容(基于引用[5]优化): ```bash #!/bin/bash API_KEY="your_api_key" DOMAIN="myoj.publicvm.com" NEW_IP=$(curl -s http://ipinfo.io/ip) # 获取旧IP OLD_IP=$(dig +short $DOMAIN) # 比较IP变化 if [ "$NEW_IP" != "$OLD_IP" ]; then curl "https://api.dnsexit.com/dns/ud/?apikey=${API_KEY}" \ -d "host=${DOMAIN}" \ -d "ip=${NEW_IP}" echo "$(date): IP updated to $NEW_IP" >> /var/log/dns_update.log fi ``` 2. **设置定时任务**: ```bash crontab -e ``` 添加: ```cron */5 * * * * /bin/bash ~/dns_update.sh >/dev/null 2>&1 ``` #### 五、验证与测试 1. **检查域名解析**: ```bash dig +short myoj.publicvm.com # 应返回当前服务器IP ``` 2. **强制触发更新**: ```bash # 测试脚本执行 bash ~/dns_update.sh ``` 3. **访问验证**: - 浏览器访问 `http://myoj.publicvm.com` - 应显示OJ网站首页 #### 注意事项 1. **防火墙配置**: - 确保服务器安全组开放80/443端口 ```bash sudo ufw allow 80/tcp sudo ufw allow 443/tcp ``` 2. **HTTPS强化**: - 使用Let&#39;s Encrypt添加SSL证书: ```bash sudo certbot --nginx -d myoj.publicvm.com ``` 3. **DNS传播延迟**: - 首次设置需等待DNS全球生效(通常10-30分钟) - 使用全球DNS检查工具:https://dnschecker.org 4. **API调用限制**: - dnsexit免费账户每小时限10次API调用 - 脚本中5分钟间隔可避免超限[^5] > **故障排查**:若域名解析失败,检查: > 1. `ddclient`服务状态:`systemctl status ddclient` > 2. 脚本执行日志:`tail -f /var/log/dns_update.log` > 3. API响应:手动执行curl命令检查返回信息 [^1]: [^2]: [^5]:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值