Well the CPU to a degree can be divided, but it requires manual intervention.
Going into the task manager you can go to the details tab.
You can sort by CPU usage.
Find the tasks consuming the most CPU and right click.
Select processor affinity.

You can now uncheck half of the cores listed, and it will only be able to use 50% of the CPU.
Memory allocation has no direct equivalent.
Frequently, and depending on how much RAM your existing system has, just doubling the RAM is sometimes the easiest solution.
The only way to limit a user with that level of precision is to create a virtual machine using oracle virtual box or etc. When creating a virtual machine a precise amount of CPU and memory can be specified. However, that means one user is always in a virtual box, in some cases it matters and it others it won't. If the user in the virtual box needs direct access to the GPU it isn't currently possible. Gaming and GPU acceleration are not possible inside the virtual machine.